Part Number Hot Search : 
SB630F 431CH 120N5 74HC00B IS64W CS4382A SB130 15040351
Product Description
Full Text Search
 

To Download LAN91C96I-MS Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  smsc lan91c96 5v&3v revision 1.0 (10-24-08) datasheet lan91c96 non-pci single-chip full duplex ethernet controller with magic packet datasheet product features ? non-pci single-chip ethernet controller ? a subset of motorola 68000 bus interface support ? fully supports full duplex switched ethernet ? supports enhanced transmit queue management ? 6k bytes of on-chip ram ? supports ieee 802.3 (ansi 8802-3) ethernet standards ? automatic detection of tx/rx polarity reversal ? enhanced power management features ? supports magic packet power management technology ? hardware memory management unit ? optional configurati on via serial eeprom interface (jumperless) ? supports single +5v or +3.3v (for revisions e and later) vcc designs ? supports mixed voltage external phy designs 1 ? low power cmos design ? 100 pin qfp and tqfp (1.0 mm body thickness) lead-free rohs compliant packages ? pin compatible with the lan91c92 and lan91c94 bus interface ? direct interface to local bus, pcmcia, and 68000 buses with no wait states ? flexible bus interface ? 16 bit data and control paths ? fast access time ? pipelined data path ? handles block word transfers for any alignment 1 refer to description of pi n functions on page 17 for 5v tolerant pins ? high performance chained ("back-to-back") transmit and receive ? pin compatible with the lan91c92 (in local bus mode) and the lan91c94 in both local bus and pcmcia modes ? dynamic memory allocation between transmit and receive ? flat memory structure for low cpu overhead ? buffered architecture, insensitive to bus latencies (no overruns/underruns) ? supports boot prom for diskless local bus applications network interface ? integrated 10base-t transceiver functions: - driver and receiver - link integrity test - receive polarity detection and correction ? integrated aui interface ? 10 mb/s manchester encoding/decoding and clock recovery ? automatic retransmission, bad packet rejection, and transmit padding ? external and internal loopback modes ? four direct driven leds for status/ diagnostics software drivers ? lan9000 drivers for major network operating systems utilizing local bus or pcmcia interface ? software drivers compatible with the lan91c92, lan91c94, lan91c100fd (100 mb/s), and lan91c110 (100 mb/s) controllers in local bus mode ? software drivers utilize full capability of 32 bit microprocessor downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 2 smsc lan91c96 5v&3v datasheet order numbers: lan91c96-ms for 100 pin, qfp lead-free rohs compliant package lan91c96-mu for 100 pin, tqfp lead-free rohs compliant package 80 arkay drive, hauppauge, ny 11788 (631) 435-6000, fax (631) 273-3123 copyright ? 2008 smsc or its subsidiaries. all rights reserved. circuit diagrams and other information rela ting to smsc products are included as a m eans of illustrating typical applications. consequently, complete information sufficient for c onstruction purposes is not necessarily given. although the information has been checked and is bel ieved to be accurate, no responsibility is assumed for inaccuracies. smsc reserves the right to make changes to specifications and product descriptions at any time without notice. contact your local smsc sales office to obtain the la test specifications before placi ng your product order. the provisi on of this information does not convey to the purchaser of the described semiconductor devic es any licenses under any patent ri ghts or other intellectual p roperty rights of smsc or others. all sales are expressly conditional on your agreement to the terms and conditions of the most recently dated version of smsc's standard terms of sale agreement dated before the date of your order (t he "terms of sale agreement"). the product may contain design def ects or errors known as anomalies which may caus e the product's functions to deviate from publis hed specifications. anomaly sheets are availab le upon request. smsc products are not designed, intended, authorized or warranted for use in any life support or other application where produc t failure could cause or contribute to personal injury or severe property damage. any and all such uses without prior written approval of an officer of smsc and further testing and/or modification will be fully at t he risk of the customer. copies of this do cument or other smsc literature, as wel l as the terms of sale agreement, may be obtained by visiting smscs website at http://www .smsc.com. smsc is a registered trademark of standard micros ystems corporation (smsc). product names and company names are the trademarks of their respective holders. smsc disclaims and excludes any and a ll warranties, including without limitation any and all implied warranties of merchantability, fitn ess for a particular purpose, title, and against infringement and the like, and any and all warranties arising from any course of dealing or usag e of trade. in no event shall smsc be liable for any direct, incidental, indi rect, special, punitive, or consequential damages; or for lost data, profits, savings or revenues of any kind; regardless of the form of action, whether based on contract; tort; negligence of smsc or others; strict liability; breach of warranty; or othe rwise; whether or not any remedy of buyer is held to have failed of its essential purpose, and whether or no t smsc has been advised of the possibility of such damages. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 3 revision 1.0 (10-24-08) datasheet table of contents chapter 1 general desc ription ..................................................................... 7 chapter 2 overview ............................................................................................. 8 chapter 3 pin config urations ....................................................................... 11 3.1 local bus vs. pcmcia vs . 68000 pin requiremen ts................................................................................ ...15 chapter 4 description of pi n funct ions ................................................... 17 4.1 buffer symbols................................................................................................................. ...............................21 chapter 5 functional de scription .............................................................. 23 5.1 buffer memory.................................................................................................................. ..............................24 5.2 interrupt st ructure.........................................................................................................................................31 5.3 reset logic.................................................................................................................... ...................................32 5.4 power down logic states........................................................................................................ .......................32 5.5 lan91c96 power down states ..................................................................................................... ................33 5.6 pcmcia configuration registers description ..................................................................36 chapter 6 frame format in buffer memory for ethernet ............... 38 chapter 7 registers map in i/o sp ace ......................................................... 42 7.1 i/o space access ............................................................................................................... ..............................42 7.2 i/o space registers description ................................................................................................ ....................42 chapter 8 theory of operat ion ................................................................... 65 8.1 typical flow of events for transmit (auto release = 0) ......................................................................... ...67 8.2 typical flow of events for transmit (auto release = 1) ......................................................................... ...68 8.3 flow of events for receive ..................................................................................................... ........................69 chapter 9 functional description of the blocks................................ 79 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 4 smsc lan91c96 5v&3v datasheet 9.1 memory management unit ......................................................................................................... ...................79 9.2 arbiter ........................................................................................................................ .....................................79 9.3 bus interface .................................................................................................................. .................................80 9.4 wait stat e policy .............................................................................................................. ...............................80 9.5 arbitration considerations ..................................................................................................... .......................81 9.6 dma block ......................................................................................................................................................82 9.7 packet number fifos ............................................................................................................ .......................82 9.8 csma block....................................................................................................................................................84 9.9 network interface .............................................................................................................. .............................85 9.10 10base-t.......................................................................................................................................................86 9.11 aui ...............................................................................................................................................................86 9.12 physical interface ............................................................................................................. ...........................86 9.13 transmit f unctions .....................................................................................................................................86 9.13.1 manchester encoding............................................................................................................ .................86 9.13.2 transmit drivers ............................................................................................................... .....................86 9.13.3 jabber fu nction ................................................................................................................ ......................87 9.13.4 sqe func tion................................................................................................................... ......................87 9.14 receive f unctions.............................................................................................................. ..........................87 9.14.1 receive dr ivers......................................................................................................................................87 9.14.2 manchester decoder and clock recovery .......................................................................................... ...87 9.14.3 squelch fu nction............................................................................................................... .....................87 9.14.4 reverse polar ity func tion ...................................................................................................... ................87 9.14.5 collision detec tion function ................................................................................................... ..............88 9.14.6 link in tegr ity ................................................................................................................. ........................88 chapter 10 board setup info rmatio n ........................................................ 89 10.1 diagnostic leds ................................................................................................................ ..........................90 10.2 bus clock cons iderations....................................................................................................... ....................90 10.3 68000 bus in terface.....................................................................................................................................90 chapter 11 operational de script ion ......................................................... 92 11.1 maximum guaranteed ratings * ................................................................................................................92 11.2 dc electrical ch aracteristics.................................................................................................. ...................92 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 5 revision 1.0 (10-24-08) datasheet chapter 12 timing di agrams ........................................................................... 99 chapter 13 lan91c96 revi sions .................................................................... 125 list of figures figure 3.1 - lan91c 96 100 pi n qfp.............................................................................................. .............................11 figure 3.2 - lan91c 96 100 pi n tqfp............................................................................................. ............................12 figure 3.3 - lan91c96 sy stem blo ck diagram ..................................................................................... ......................13 figure 3.4 C system diagram for local bu s with b oot pr om ....................................................................... ................14 figure 4.1 - lan91c96 in ternal blo ck diagram ................................................................................... ........................22 figure 5.1 C mapping and paging vs. receive and transmit area .................................................................. ............25 figure 5.2 C transmit queues and mapping....................................................................................... .........................26 figure 5.3 C receive queues and mapping........................................................................................ .........................27 figure 5.4 - lan91c96 in ternal block diagram with data path.................................................................... ...............28 figure 5.5 C logical address gener ation and relev ant regi sters................................................................. ..............29 figure 6.1 C data frame format................................................................................................. .................................38 figure 6.2 - lan 91c96 regi sters ................................................................................................ ................................41 figure 7.1 C interr upt structure............................................................................................... ......................................61 figure 8.1 C interrupt service routine ......................................................................................... ................................70 figure 8.2 - rx intr ........................................................................................................... ........................................71 figure 8.3 -tx intr............................................................................................................ .........................................72 figure 8.4 -t xempty intr ....................................................................................................... .................................73 figure 8.5 C driver send and allocate routines ................................................................................. .........................74 figure 8.6 C interrupt generati on for transmit; receive, mmu ................................................................... ................78 figure 9.1 - mmu packet number fl ow and relevant register s.........................................................84 figure 10.1 - 64 x 16 serial eepr om map ........................................................................................ .................91 figure 12.1 C card config uration registers C read/w rite pcmcia mode (a 15=1) .................................................... 99 figure 12.2 C local bus c onsecutive re ad cycles ................................................................................ ...................100 figure 12.3 - pcmcia c onsecutive read cycl es ................................................................................... ...................101 figure 12.4 C local bus c onsecutive wr ite cycles............................................................................... .....................102 figure 12.5 - pcmcia c onsecutive wr ite cy cles .................................................................................. ....................103 figure 12.6 C local bus consec utive read and write cycles ...................................................................... .............104 figure 12.7 C data regist er special read a ccess ................................................................................ ....................105 figure 12.8 C data regist er special wr ite a ccess............................................................................... ......................106 figure 12.9 - 8-bit m ode register cycles ....................................................................................... ...........................107 figure 12.10 - 680 00 read ti ming............................................................................................... ..............................108 figure 12.11 - 680 00 write timing.............................................................................................. ...............................109 figure 12.12 C external rom read access ........................................................................................ ......................110 figure 12.13 C local bus regi ster access w hen using bale ....................................................................... .............111 figure 12.14 C external ro m read access using bale ............................................................................. ...............112 figure 12.15 - eeprom read..................................................................................................... ..............................113 figure 12.16 - eeprom write .................................................................................................... ...............................114 figure 12.17 - pcmcia attribut e memory read/wr ite (a15 =0) ...................................................................... ...........115 figure 12.18 C external endec interface C start of transmi t .................................................................... ...............115 figure 12.19 C external ende c interface C receive data ......................................................................... ...............116 figure 12.20 C differential output signal timing (10base-t and au i) ............................................................ .........117 figure 12.21 C receive timing C st art of frame (a ui and 10 base-t) .............................................................. .......118 figure 12.22 C receive timing C end of frame (a ui and 10 base-t)................................................................ .......119 figure 12.23 C transmit timing C end of frame (a ui and 10 base-t)............................................................... .......120 figure 12.24 C collis ion timing (aui) .......................................................................................... ..............................121 figure 12.25 C memo ry read timing.............................................................................................. ...........................121 figure 12.26 C i nput clock timing .............................................................................................. ...............................122 figure 12.27 C memo ry write timing ............................................................................................. ............................122 figure 12.28 - 100 pin qfp package............................................................................................. ...........................123 figure 12.29 - 100 pi n tqfp pack age ............................................................................................ .........................124 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 6 smsc lan91c96 5v&3v datasheet list of tables table 5.1 - lan91c 96 address space ............................................................................................. ...........................30 table 5.2 - bus transacti ons in loca l bus mode ................................................................................. ...................30 table 5.3 - bus transacti ons in pcmc ia mode.................................................................................... .......................31 table 5.4 - bus transactions in 68000 mode ................................................................................................................31 table 5.5 - inte rrupt me rging........................................................................................................................................32 table 5.6 - local bus mode defined states (refer to table 5.7 for ne xt states to wa ke-up ev ents).................33 table 5.7- lo cal bus mode ...................................................................................................... ................................33 table 5.8 - pcmcia mode (refer to table 5. 7 for next states to wake-up events) ...............................................34 table 5.9 - pc mcia mode ........................................................................................................ ...................................34 table 7.1 - tr ansmit loop ............................................................................................................................................45 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 7 revision 1.0 (10-24-08) datasheet chapter 1 general description the lan91c96 is a vlsi ethernet controller that combines local bus, pcmcia, and motorola 68000 bus interfaces in one chip. lan91c96 integrates all mac and physical layer functions, as well as the packet ram, needed to implement a high performance 10base-t (twisted pair) node. for 10base5 (thick coax), 10base2 (thin coax), and 10base-f (f iber) implementations, the lan91c 96 interfaces to external transceivers via the provided aui port. only one additional ic is required for most applications. the lan91c96 comes with full duplex switched ethernet (f dswe) support allowing the controller to provide much higher throughput. 6k bytes of ram is provided to support enhanced throughput and compensate for any increased system service latencies. the controller implements multiple advanced power-down modes including magic packet to conserve po wer and operate more efficiently. the lan91c96 can directly interface with the local bus, pcmcia, and 68000 buses and deliver no-wait-state operation. for local bus and pcmcia interfaces, the lan91c96 occupies 16 i/0 locations and no memory space except for pcmcia attribute memory space. the same i/o space is used for both local bus and pcmcia operations. its shared memory is sequentially accessed with 40ns access times to any of its registers, including its packet memory. dma services are not used by the lan91c96, virtually de-coupling network traffic from local or system bus utilization. for packet memory management, the lan91c96 integrates a unique hardware memory management unit (mmu) with enhanced perf ormance and decreased software overhead when compared to ring buffer and linked list architectures. the lan91c96 is portable to different cpu and bus platforms due to its flexible bus in terface, flat memory structure (no pointers), and its loosely coupled buffered architecture (not sensitive to latency). the lan91c96 is available in 100-pin qfp and tqfp (1.0 mm body thickness) packages. the low profile tqfp is ideal for mobile applications such as pc card lan adapters. the lan91c96 operates with a single power supply voltage of 5.0v. revisions e and later will also operate using a single 3.3v power supply. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 8 smsc lan91c96 5v&3v datasheet chapter 2 overview a unique architecture allows the lan91c96 to combine high performance, flexibility, high integration and simple software interface. the lan91c96 incorporates the lan91c92 functi onality for local bus environments, as well as a pcmcia interface and attribute registers like the lan91c94 it also includes a subset of the motorola 68000 interface. mode selection between local bus and pcmcia is static and is done only at the end of a reset. selection of 68000 operation mode is performed at power-up. the lan91c96 consists of the same logical i/o r egister structure in local bus and pcmcia modes. however, some of the signals used to access the pcmcia differ from the local bus mode. the mmu (memory management unit) architecture used by the lan91c96 combines the simplicity and low overhead of fixed areas with the flexibility of lin ked lists providing improved performance over other methods. packet reception and transmission are determined by memo ry availability. all other resources are always available if memory is available. to complement th is flexible architecture, bus interface functions are incorporated in the lan9 1c96, as well as a 6144 byte packet ra m - and serial eepro m-based setup. the user can select or modify configuration choices. the lan91c96 int egrates most of the 802.3 functionality, incorporating the ma c layer protocol, the physical layer encoding and decoding functions with the ability to handle the aui interface. for twis ted pair networks, lan91c96 integrates the twisted pair transceiver as well as the link integrity test functions. the lan91c96 is a true 10base-t single chip device able to interface to a system or a local bus. support for direct-driven leds for installation and r un-time diagnostics is provided. 802.3 statistics are gathered to facilitate network management. the lan91c96 is a single chip ethernet controller desi gned to be 100% pin and software compatible with the lan91c92 and lan91c94 in local bus mode. similar to the lan91c94, the lan91c96 has support necessary for providing a true single chip single func tion pcmcia ethernet socket adapter. the lan91c96 incorporates all of the pcmcia registers and signals that interface to the pcmcia bus. the lan91c96 has been designed to support full duplex switched ethernet and provides fully independent transmit and receive operations. the lan91c96 internal packet memory is extended to 6k bytes, and the mmu will continue to manage memory in 256 byte pages. the increase in memory size accommodates the potential for simultaneous transmit and receive traffic in some full duplex appl ications as well as support for enhanced performance on systems that introduce increased latency. the lan91c96 has the ability to retrieve configuration information from a s erial eeprom on reset or power- up. in local bus mode, the serial eprom acts as storage of configuration and ieee et hernet address information compatible with the existing lan91c 90, lan91c92, and lan91c94 local bus ethernet controllers. in pcmcia mode, the eeprom function is the same as in local bus mode. external flash rom is required for cis storage. the lan91c96 offers : high integration : single chip controller including: ? packet ram ? local bus interface downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 9 revision 1.0 (10-24-08) datasheet ? pcmcia interface ? 68000 interface ? eeprom interface ? encoder/decoder with aui interface ? 10base-t transceiver high performance : chained ("back-to-back") packet handling with no cpu intervention: ? queues transmit packets ? queues receive packets ? stores results in memory along with packet ? queues interrupts ? optional single interrupt upon completion of transmit chain fast block move operation for load/unload: ? cpu sees packet bytes as if stored continuously. ? handles 16 bit transfers regardless of address alignment. ? access to packet through fixed window. fast bus interface : ? compatible with local bus type and faster buses. flexibility: flexible packet and header processing: ? can access any byte in the packet. ? can immediately remove undesired packets from queue. ? can move packets from receive to transmit queue. ? can alter receive processing order without copying data. ? can discard or enqueue again a failed transmission. resource allocation : ? memory dynamically allocated for transmit and receive. ? can automatically release memory on successful transmission. configuration: local bus: ? uses non-volatile jumperless setup via serial eeprom. pcmcia: ? uses rom or flash rom for attribute memo ry storage and optional serial eeprom for ieee address storage. pcmcia i/o ignores address lines a4-a15 and relies on the pcmcia host, decoding for the slot. ? nrom/npcmcia, on lan91c96, is left open with a pullup for local bus mode. this pin is sampled at the end of reset. if found low, the lan91c96 is configured for pcmcia mode. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 10 smsc lan91c96 5v&3v datasheet motorola 68000: ? uses non-volatile jumperless setup via serial eeprom. the devic e must power up in local bus mode with niord and niowr asserted simultaneous ly to make the controller enter the 68000 mode. note : the first write to the 68000 configured controller must be a write. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 11 revision 1.0 (10-24-08) datasheet chapter 3 pin configurations avdd coln colp recn recp tperxn tperxp avssavss rbias avdd nxendec nen16 vss nrom/npcmcia xtal1 xtal2 ios0 ios1 vdd 8182 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 niocs16/niois16 vss a2a0 a1 bale/nwe nsbhe/nce2 intr3 intr20 vdd intr1/ninpack d15 d14 d13 d12 vdd d11 d10 d9 d8 vss eesk eedi eedo/sdout eneep vss eecs ios2 vss intr0/nireq/intr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2122 23 24 25 26 2728 29 30 vdd a19/nce1 a18 a17 a16 a15 a14 a13 a12 a11/nfcs vdd a10/nfwe a9 a8 a7 a6 a5 a4 a3 vss 5049 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 lan91c96 100 pin qfp 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 ntxled/ntxen pwrdwn/txclk niord/xds niowr/r/nw nmemr/noe aen/nreg/nas iochrdy/nwait vss d0 d1 d2d3 vdd d4d5 d6 d7 vss reset bseled/rxd nlnkled/txd nrxled/rxclk avdd tpetxdp tpetxdn tpetxp txn/ncrs txp/ncoll avss tpetxn figure 3.1 - lan91c96 100 pin qfp downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 12 smsc lan91c96 5v&3v datasheet eneep eedo/sdout eedi eecs eesk vss d8d9 d10 d11 vdd d12 d13 d14 d15 vss intr0/nireq/intr intr1/ninpack vdd intr2 intr3 vss niocs16/niois16 nsbhe/nce2 bale/nwe 1 23 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 a0 a1 a2 vss a3 a4 a5 a6 a7 a8 a9 a10/nfwe vdd a11/nfcs a12 a13 a14 a15 a16 a17 a18 a19/nce1 vdd niord/xds niowr/r/nw 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 tpetxp tpetxdn tpetxn tpetxdp avdd ntxled/ntxen nrxled/rxclk nlnkled/txd nbseled/rxd pwrdwn/txclk reset vss d7 d6 d5 d4 vdd d3 d2 d1 d0 vss iochrdy/nwait aen/nreg/nas nmemr/oe 7574 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 vss ios2 vdd ios1 ios0 xtal2 xtal1 nrom/npcmcia vss nen16 nxendec avdd rbias avss avss tperxp tperxn recp recn colp coln avdd avss txp/ncoll txn/ncrs 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 lan91c96 100 pin tqfp figure 3.2 - lan91c96 100 pin tqfp downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 13 revision 1.0 (10-24-08) datasheet figure 3.3 - lan91c96 system block diagram single function pcmcia card with the lan91c96 lan91c96 nce1, nce2, nreg, nwe nireq d0-15 reset niord, niowr a0-9, a15 niois16, ninpack nwait nce nwe noe noe d0-7 a0-x attribute eprom 2816 pcmcia connector 10base-t / aui interface stschg nfwe nfcs extended cs,sk,di,do serial eprom (isa-hy9346) (pcmcia) downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 14 smsc lan91c96 5v&3v datasheet t p e t x p t p e t x n t p e t x d p t p e t x d n t p e r x p t p e r x n t x p t x n r e c p r e c n c ol p c o l n x t a l 1 x t a l 2 e e d i e e c s e e d o e e s k i o s 0 i o s 1 i o s 2 n e n 1 6 e n e e p a e n b a l e r e s e t n s b h e n i o r d , n i o w r , n m e m r d 0 - 1 5 a 0 - 1 9 n r o m n i oc s 1 6 i oc h r d y i n t r 0 - 3 cable side 4 s e r i a l e e p r o m 4 2 0 m h z 3 s y s t e m b u s a d d r e s s p r o m d a t a n i r q 4 l a n 9 1 c 9 6 n / c r b i a s b u f f e r diagnostic leds 10baset aui figure 3.4 C system diagram for local bus with boot prom downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 15 revision 1.0 (10-24-08) datasheet 3.1 local bus vs. pcmcia vs. 68000 pin requirements function local bus pcmcia 68000 max number of pins system address bus a0 a1-9 a10 a11 a12-14 a15 a16-18 a19 aen a0 a1-9 nfwe nfcs a15 nce1 nreg a1-9 a10 a11 a12-14 a15 a16-18 a19 nas 21 system data bus d0-15 d0-15 d0-15 2 16 system control bus reset bale niord niowr nmemr iochrdy niocs16 nsbhe intr0 intr1 intr2 intr3 reset nwe niord niowr noe nwait niois16 nce2 nireq ninpack reset xds r/nw intr 12 serial eeprom eedi eedo eecs eesk eneep ios0 ios1 ios2 eedi eedo eecs eesk eneep ios0 ios1 ios2 eedi eedo eecs eesk eneep ios0 ios1 ios2 8 crystal osc. xtal1, xtal2 xt al1, xtal2 xtal1, xtal2 2 power vdd, avdd vdd, avdd vdd, avdd 9 ground gnd, agnd gnd, agnd gnd, agnd 11 10base-t interface tperxp tperxn tpetxp tpetxn tpetxdp tpetxdn tperxp tperxn tpetxp tpetxn tpetxdp tpetxdn tperxp tperxn tpetxp tpetxn tpetxdp tpetxdn 6 aui interface recp recn colp coln txp/ncoll txn/ncrs recp recn colp coln txp/ncoll txn/ncrs recp recn colp coln txp/ncoll txn/ncrs 6 2 the bytes connect to the 68000 host processor swapped downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 16 smsc lan91c96 5v&3v datasheet function local bus pcmcia 68000 max number of pins leds nlnkled/txd nrxled/rxclk nbseled/rxd ntxled/ntxen nlnkled/txd nrxled/rxclk nbseled/rxd ntxled/ntxen nlnkled/txd nrxled/rxclk nbseled/rxd ntxled/ntxen 4 misc. rbias pwrdwn/tx clk nxendec nen16 nrom rbias pwrdwn/tx clk nxendec nen16 npcmcia rbias pwrdwn/txc lk nxendec nen16 nrom 5 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 17 revision 1.0 (10-24-08) datasheet chapter 4 description of pin functions pin no. tqfp qfp pin name type description 93 95 nrom/ npcmcia i/o4 with pullup this pin is sampled at the end of reset. when this pin is sampled low the lan91c96 is configured for pcmcia operation and all pin definitions correspond to the pcmcia mode. for local bus operation this pin is left open and it is used as a rom chip select output that goes active when nmemr is low and the address bus contains a valid rom address. in local bus mode the lan91c96 is pin compatible with the lan91c92 and lan91c94. to enter the 68000 mode, this pin must be in the local bus mode at power up. 26-28 30-36 28,29, 30, 32- 38 a0-9 i ** input address lines 0 through 9. 37 39 a10/nfwe i local bus - input address line 10. o4 pcmcia - output. flash memory write enable used for programming the attribute memory. goes active (low) when we*=0 and cor2=1. 39 41 a11/nfcs i local bus - input address line 11. o4 pcmcia - output. flash memory chip select used to access attribute memory. goes active (low) when nreg=0 nce1=0 and a15=0. 40-46 42-48 a12-18 i ** input address lines 12 through 18. 47 49 a19/nce1 i with pullup local bus - input address line 19. ** pcmcia - card enable 1 input. used to select card on even byte accesses. 52 54 aen/ nreg/ nas i with pullup ** local bus - address enable input. used as an address qualifier. address decoding is only enabled when aen is low. pcmcia - attribute memory and io select input. asserted when the card attribute space or io space is being accessed. 68000 C active low input. address strobe. 24 26 nsbhe/ nce2 i with pullup ** local bus - byte high enable input. asserted (low) by the system to indicate a data transfer on the upper data byte. pcmcia - card enable 2 input. used to select card on odd byte accesses. 53 55 iochrdy/ nwait od24 with pullup local bus - output. optionally used by the lan91c96 to extend host cycles. pcmcia - output. optionally used by the lan91c96 to extend host cycles. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 18 smsc lan91c96 5v&3v datasheet pin no. tqfp qfp pin name type description 55-58 60- 63 7-10 12-15 57-60, 62-65, 9-12, 14-17 d0-15 i/o24 bidirectional. 16 bit data bus used to access the lan91c96 internal registers. the data bus has weak internal pullups. supports direct connection to the system bus without external buffering. in the case of a 68000 host processor, the upper byte of the data bus must be connected to the lower byte of the 68000 data bus and the lower byte of the data bus must be connected to the upper byte of the 68000 data bus. 65 67 reset is with pullup ** input. active high reset. this input is not considered active unless it is active for at least 100ns to filter narrow glitches. 25 27 bale/nwe is with pullup ** local bus - input. address strobe. for systems that require address latching, the falling edge of bale latches address lines and nsbhe. pcmcia - write enable input. used for writing into cor and csr registers as well as attribute memory space. 17 19 intr0/ nireq/ intr o24 local bus - active high interrupt signal. the interrupt line selection is determined by the value of int sel1-0 bits in the configuration register. this interrupt is tri-stated when not selected. pcmcia - active low interrupt request output. 68000 C active high interrupt signal. the int sel1-0 bits in the configuration register must indicate int0 selection. 18 20 intr1/ ninpack o24 local bus - output. active high interrupt signal. the interrupt line selection is determined by the value of int sel1-0 bits in the configuration register. this interrupt is tri-stated when not selected. pcmcia - output asserted to acknowledge read cycles. 20 22 intr2 o24 local bus - outputs. active high interrupt signals. the interrupt line selection is determined by the value of int sel1-0 bits in the configuration register. these interrupts are tri-stated when not selected. 21 23 intr3 o24 local bus - outputs. active high interrupt signals. the interrupt line selection is determined by the value of int sel1-0 bits in the configuration register. these interrupts are tri-stated when not selected. 23 25 niocs16/ niois16 od24 local bus - active low output asserted in 16 bit mode when aen is low and a4-a15 decode to the lan91c96 address programmed into the high byte of the base address register. pcmcia - active low output asserted whenever the lan91c96 is in 16 bit mode, cor0 bit is high and nreg is low. 49 51 niord/ xds is with pullup ** local bus, pcmcia - input. active low read strobe used to access the lan91c96 io space. 68000 C data strobe input. uds, lds, or ds can be tied to this pin. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 19 revision 1.0 (10-24-08) datasheet pin no. tqfp qfp pin name type description 50 52 niowr/ r/nw is with pullup ** local bus, pcmcia - input. active low write strobe used to access the lan91c96 io space. 68000 C read/nwrite strobe to read from or write to the chip. 51 53 nmemr/ noe is with pullup ** local bus - active low signal used by the host processor to read from the external rom. pcmcia - output enable input used to read from the cor, csr and attribute memory. 5 7 eesk o4 output. 4usec clock used to shift data in and out of a serial eeprom. 4 6 eecs o4 output. serial eeprom chip select. 2 4 eedo/ sdout o4 output. connected to the di input of the serial eeprom. 3 5 eedi i with pull-down ** input. connected to the do output of the serial eeprom. 96,97 98,99 ios0-1 i with pullup input. external switches can be connected to these lines to select between predefined eeprom configurations. the values of these pins are readable. 99 1 ios2 i with pullup ** input. external switches can be connected to these lines to select between predefined eeprom configurations. the values of these pins are readable. 70 72 ntxled/ ntxen od16 internal endec - transmit led output. o162 external endec - active low transmit enable output. 67 69 nbseled/ rxd od16 internal endec - board select led activated by accesses to i/o space (niord or niowr active with aen low and valid address decode for local bus, and with nreg low and cor0 high for pcmcia). the pulse is stretched beyond the access duration to make the led visible. i with pullup external endec - nrz receive data input. 69 71 nrxled/ rxclk od16 internal endec - receive led output. i with pullup external endec - receive clock input. 68 70 nlnkled/ txd od16 internal endec - link led output. o162 external endec - transmit data output. 1 3 eneep i with pullup ** input. this active high input enables the eeprom to be read or written by the lan91c96. internally pulled up. must be connected to ground if no serial eeprom is used. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 20 smsc lan91c96 5v&3v datasheet pin no. tqfp qfp pin name type description 91 93 nen16 i with pullup ** input. when low the lan91c96 is configured for 16 bit bus operation. if left open the lan91c96 works in 8 bit bus mode. 16 bit configuration can also be programmed via serial eeprom or software initialization of the configuration register. 94 96 xtal1 iclk ** an external parallel resonance 20mhz crystal should be connected across these pins. if an external clock source is used, it should be connected to this pin (xtal1) and xtal2 should be left open. 95 97 xtal2 iclk an external parallel resonance 20mhz crystal should be connected across these pins. if an external clock source is used, it should be connected to xtal1 and this pin (xtal2) should be left open. 83 82 85 84 recp/ recn diff. input ** aui receive differential inputs. 77 76 79 78 txp/ncoll txn/ncrs diff. output internal endec - (nxendec pin open). in this mode txp and txn are the aui transmit differential outputs. they must be externally pulled up using 150 ohm resistors. i ** external endec - (nxendec pin tied low). in this mode the pins are inputs used for collision and carrier sense functions. 81 80 83 82 colp coln diff. input ** aui collision differential inputs. a collision is indicated by a 10mhz signal at this input pair. 85 84 87 86 tperxp tperxn diff. input ** 10base-t receive differential inputs. 75 73 77 75 tpetxp tpetxn diff. output internal endec - 10base-t transmit differential outputs. 72 74 74 76 tpetxdp tpetxdn diff. output 10base-t delayed transmit differential outputs. used in combination with tpetxp and tpetxn to generate the 10base-t transmit pre-distortion. 66 68 pwrdwn/ txclk i with pullup ** internal endec - powerdown input. it keeps the lan91c96 in powerdown mode when high (open). must be low for normal operation. external endec - transmit clock input from external endec. 88 90 rbias analog input a resistor should be connected between this pin and analog ground to determine the receive threshold voltage of tx receive, aui receive, aui collision receive, and aui transmit voltage. 90 92 nxendec i with pullup ** when tied low the lan91c96 is configured for external endec. when tied high or left open the lan91c96 will use its internal encoder/decoder. 11,19, 48,59, 98,38 13,21,40, 50, 61,100 vdd +5v power supply pins or 3.3v power supply pins (revisions e and later) 71,79, 89 73,81, 91 avdd +5v analog power supply pins or 3.3v power supply pins (revisions e and later) downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 21 revision 1.0 (10-24-08) datasheet pin no. tqfp qfp pin name type description 100,6, 22,29 54,64,92, 16 2,8,18, 24,31, 56,66, 94 gnd ground pins. 78,86 87 80,88,89 agnd analog ground pins. 4.1 buffer symbols o4 output buffer with 2ma source and 4ma sink at 5v. output buffer with 1ma source and 2ma sink at 3.3v i/o4 output buffer with 2ma source and 4ma sink at 5v. output buffer with 1ma source and 2ma sink at 3.3v. o162 output buffer with 2ma source and 16ma sink at 5v. output buffer with 1ma source and 8ma sink at 3.3v. o24 output buffer with 12ma source and 24ma sink at 5v. output buffer with 6ma source and 12ma sink at 3.3v . od16 open drain buffer with 16ma sink at 5v. open drain buffer with 8ma sink at 3.3v. od24 open drain buffer with 24ma sink at 5v. open drain buffer with 12ma sink at 3.3v . i/o24 bi-directional buffer with 12ma source and 24ma sink at 5v. bi-directional buffer with 6ma source and 16ma sink at 3.3v. i input buffer with ttl levels. is input buffer with schmitt trigger hysteresis. iclk clock input buffer. ** signal is 5.0v input tolerant when v cc =3.3v. for revision e and later. dc levels and conditions defined in the dc electrical characteristics section. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 22 smsc lan91c96 5v&3v datasheet figure 4.1 - lan91c96 internal block diagram databu a ddres bus control bus interfac a rbite csma/c ende a ui mmu twisted transceive 10base- ram downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 23 revision 1.0 (10-24-08) datasheet chapter 5 functional description except for the bus interface, the functional behavior of the lan91c96 after initial configuration is identical for local bus and pcmcia modes. the lan91c96 includes an arbitrated shared memory of 6144 bytes. any portion of this memory can be used for receive or transmit packets. the mmu unit allocates ram memory to be used for transmit and receive packets, using 256 byte pages. the arbitration is transparent to t he cpu in every sense. there is no speed penalty for local bus type of machines due to arbitration. there are no restrictions on what locations can be accessed at any time. ram accesses as well as mmu requests are arbitrated. the ram is accessed by mapping it into i/o space for sequential access. except for the ram accesses and the mmu request/release commands , i/o accesses are not arbitrated. the i/o space is 16 bits wide. provisions for 8 bit systems are handled by the bus interface. in the system memory space, up to 64 kbytes are decoded by the lan91c96 as expansion rom. the rom expansion area is 8 bits wide. device configuration is done using a serial eeprom, with suppor t for modifications to the eeprom at installation time. a flash rom is supported for pcmcia attribute memory. the csma/cd core implements the 802.3 mac layer prot ocol. it has two independent interfaces, the data path and the control path. both interfaces are 16 bits wide. the control path provides a set of registers used to configure and control the block. these registers are a ccessible by the cpu thro ugh the lan91c96 i/o space. the data path is of sequential access nature and typically works in one direction at any given time. an internal dma type of interface connects the data path to t he device ram through the arbiter and mmu. the csma/cd data path interface is not accessible to the host cpu. the internal dma interface can arbitrate for ram access and request memory from the mmu when necessary. an encoder/decoder block interfaces the csma/cd block on the serial side. the encoder will do the manchester encoding of the transmit data at 10 mb/s, while the decoder w ill recover the receive clock, and decode received data. carrier and collision detection signals are also handled by this block and relayed to the csma/cd block. the encoder/decoder block can interface the network through the aui interface pairs, or it can be programmed to use the internal 10base-t transceiv er and connect to a twisted pair network. the twisted pair interface takes care of the medium dependent signaling for 10base-t type of networks. it is responsible for line interface (with external pulse transformers and pre-distortion resistors), collision detection as well as the link integrity test function. the lan91c96 provides a 16-bit data path into ram. the ram is private and can only be accessed by the system via the arbiter. ram memory is managed by the mmu. byte and word acce sses to the ram are supported. if the system to sram bandwidth is insufficient the lan91c96 will automatically use its iochrdy line for flow control. however, for local bus, iochrdy will never be negated. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 24 smsc lan91c96 5v&3v datasheet the lan91c96 consists of an integrated ethernet controller mapped entirely in i/o space. in addition, pcmcia attribute memory space is decoded to interface an external cis rom, wit h configuration registers as per pcmcia 3.x extensions (except cor) implemented on-chip in attribute space above the rom decode area. the pcmcia configuration registers are accessible in i/o space and also to allow non-pcmcia dual function designs. the ethernet controller function includes a built-in 6kbyte ram for packet storage. this ram buffer is accessed by the cpu through sequential access regions of 256 bytes each. the ra m access is internally arbitrated by the lan91c96, and dynamically allocate d between transmit and receive packets. each packet may consist of one or more 256 byte page. the ethernet controller functionality is identical to the lan91c94 and lan91c95 except where indicated otherwise. the lan91c96 memory management unit parameters are: ram size 6kbytes max. number of pages 24 max. number of packets 24 (fifos have 24 entries of 5 bits) max. pages per packet 6 page size 256 bytes 5.1 buffer memory the logical addresses for ram access are divided into tx area and rx area. the tx area is seen by the cpu as a window through which packets can be loaded into memory before queuing them in the tx fifo of packets. the tx area can also be used to examine the transmit completion status after packet transmission. the rx area is associated to the output of the rx fifo of packets, and is used to access receive packet data and status information. the logical address is specified by loading the addr ess pointer register. the pointer can automatically increment on accesses. all accesses to the ram are done via i/o space. a bit in the address pointer also specifies if the address refers to the tx or rx area. in the tx area, the host cpu has access to the next transmit packet being prepared for transmission. in the rx area, it has access to the first re ceive packet not processed by the cpu yet. the fifo of packets, existing beneath the tx and rx areas, is managed by the mmu. the mmu dynamically allocates and releases memory to be used by the transmit and receive functions. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 25 revision 1.0 (10-24-08) datasheet pag e = 256 bytes physical memory tx packet number rx packet number mmu mmu 1536 tx area 1536 rx area 11-bit logical address pointer register rcv bit rcv vs. tx area selection figure 5.1 C mapping and paging vs. receive and transmit area downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 26 smsc lan91c96 5v&3v datasheet ba b c status count data status count data packet #a packet #b packet number register tx fifo to csma linear address mmu mapping memory cpu side status count data packet #c tx completion fifo fifo ports register c figure 5.2 C transmit queues and mapping downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 27 revision 1.0 (10-24-08) datasheet d e d e status count data status count data packet #d packet #e fifo ports register rx fifo from csma linear address mmu mapping memory cpu side figure 5.3 C receive queues and mapping downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 28 smsc lan91c96 5v&3v datasheet figure 5.4 - lan91c96 internal block diagram with data path 8-16 bit bus interface unit arbiter dma mmu ethernet protocol handler (eph) twisted pair transceiver 6k byte sram wr fifo rd fifo control rx data tx data control control address data control control tx/rx fifo pointer tpi tpo control eeprom interface tx data rx data endec aui downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 29 revision 1.0 (10-24-08) datasheet t x f i f o t x c o m p l e t i o n f i f o p n r r x f i f o p a c k e t n u m b e r t x ( p a c k e t n u m b e r r e g ) r c v p o i n t e r r e g i s t e r & c o u n t e r l o a d i n c r x f i f o r e a d p o i n t e r l a t c h p o i n t e r r e g i s t e r p a c k e t # a d d r e s s d m a d a t a c s m a / c d c p u / n l a n ( f r o m a r b i t e r ) l o g i c a l a d d r e s s p a c k e t # m m u p h y s i c a l a d d r e s s d a t a a d d re s s w r i t e r e g r e a d r e g w r i t e d a t a r a m d a t a r e g i s t e r ( f i f o s ) r e a d d a t a t / n r figure 5.5 C logical address generation and relevant registers downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 30 smsc lan91c96 5v&3v datasheet table 5.1 - lan91c96 address space signals used local bus pcmcia 68000 on- chip depth width pcmcia attribute memory noe, nwe n y n n (extern al rom) up to 32k locations, only even bytes are usable 8 bits on even addresses pcmcia configuration registers noe, nwe n y n y 64 locations, only even bytes are usable 8 bits ethernet i/o space (note 5.1) niord/ niowr (68k: xds, r/nw) y y y y 16 locations 8 or 16 bits (68k: 16 bits only) note 5.1 this space also allows access to the pc mcia configuration register through bank 4. table 5.2 - bus transactions in local bus mode a0 nsbhe d0-7 d8-15 8 bit mode ((nen16=1) (16bit=0)) 0 x even byte - 1 x odd byte - 16 bit mode otherwise 0 0 even byte odd byte 0 1 even byte - 1 0 - odd byte 1 1 invalid cycle downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 31 revision 1.0 (10-24-08) datasheet table 5.3 - bus transactions in pcmcia mode a0 nce1 nce2 d0-7 d8-15 8 bit mode ((iois8=1) + (nen16=1). (16bit=0)) 0 0 x even byte - 1 0 x odd byte - x 1 x no cycle 16 bit mode otherwise 0 0 0 even byte odd byte 0 0 1 even byte - 1 0 1 odd byte x 1 0 - odd byte x 1 1 no cycle table 5.4 - bus transactions in 68000 mode d0-7 d8-15 8 bit mode illegal access 16 bit mode (a0=0).(nsbhe=0) even byte odd byte 16bit: configuration register bit 7 iois8: csr register bit 5 nen16: pin nen16 8 bit mode: ((iois8 = 1) + (nmis16 = 1) 5.2 interrupt structure the ethernet interrupt is concept ually equivalent to the lan91c 94 interrupt line, it is the or function of all enabled interrupts within the ethernet core. the enab ling, reporting, and clearing of these sources is controlled by the ecor register. the interrupt stru cture is similar for local bus and pcmcia modes with the following exceptions: pcmcia uses a single interrupt pin (nireq) whil e local bus can use any of four intr0-3 pins. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 32 smsc lan91c96 5v&3v datasheet table 5.5 - interrupt merging function pcmcia mode local bus mode interrupt output nireq when function is ready. acts as ready line at power up. i.e. remains low until the chip (therefore, card) is ready intr0-3 ethernet interrupt source or function of all interrupt bits specif ied in the interrupt status register anded with their respective enable bits ethernet interrupt enable not applicable in local bus mode ethernet interrupt status bit intr bit in ecsr 5.3 reset logic the pins and bits involved in the different reset mechanisms are: reset - input pin sreset - soft reset bit in ecor, or the sreset bit soft rst - eph soft reset bit in rcr resets the following functions samples local bus vs. pcmcia mode triggers eeprom read reset pin all internal logic yes yes ecor register sreset bit the ethernet controller function and ethernet pcmcia configuration registers except for the bit itself. setting this bit also lowers the nireq/ready line. when cleared, the nireq/ready line is raised. no yes soft rst the ethernet controller itself except for the ia, conf and base registers. it does not reset any pcmcia configuration register. no no 5.4 power down logic states table 5.6, table 5.7, table 5.8, and table 5.9 describe the power down states of the lan91c96. the pins and bits involved in power down are: 1. pwrdwn/txclk - input pin valid when xendec is not zero (0). 2. pwrdwn bits in ecsr 3. enable function bit in ecor 4. pwrdn - legacy power down bit in control register. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 33 revision 1.0 (10-24-08) datasheet 5.5 lan91c96 power down states table 5.6 - local bus mode defined states (refer to table 5.7 for next states to wake-up events) current state no. pwrdwn pin (a= assrtd) ecor function enable ecsr power down ctr pwrdw n bit ctr wakeu p_en bit powers down does not power down 1 a x x x x everything. asserts the modem power down pin (npwdn) also 2 na x 0 0 0 ethernet tx, rx, link 3 na x 0 0 1 ethernet tx ethernet rx, link 4 na x 0 1 1 ethernet tx, rx, link 5 na x 0 1 0 ethernet tx, rx, link notes : ? the chart assumes that ecor function enable bit is meaningless in local bus mode. ? ecsr power down bit must not be set to one(1) in local bus mode. table 5.7- local bus mode next state no. wakes up by pwr dwn pin (a=assrtd) ecor function enable ecsr power down ctr pwr- dwn bit ctr wakeup_ en bit comments ..1 pwrdwn pin deassertion na no change no change no change no change ecor function enable bit value is meaningless in local bus mode ..2 na x 0 0 0 fully awake ..3 by writing a 0 to ctr wakeup_en bit na x 0 0 0 ..4 by writing a 0 to ctr wakeup_en bit and ctr pwrdwn bit = 0 na x 0 0 0 the ctr pwrdwn bit has precedence unlike the lan91c95 ..5 by writing 0 to ctr pwrdwn bit na x 0 0 0 notes : ? the chart assumes that ecor function enable bit is meaningless in local bus mode. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 34 smsc lan91c96 5v&3v datasheet ? ecsr power down bit must not be set to one (1) in local bus mode. table 5.8 - pcmcia mode (refer to table 5.7 for next states to wake-up events) current state no. pwrdwn pin (a=assrtd) ecor func enable ecsr pwr down ctr pwr dwn bit ctr wakeup_e n bit powers down does not power down 1 a x x x x everything. asserts the modem power down pin (npwdn) also 2 na 1 0 0 0 ethernet tx, rx, link; pcmcia att/config mem 3 na 1 0 0 1 ethernet tx ethernet rx, link; pcmcia att/config mem 4 na 1 0 1 1 ethernet tx, rx 1 , link 1 pcmcia att/conf memory 5 na 0 x x 0 ethernet tx, rx, link pcmcia att/conf memory 6 na 0 x x 1 ethernet tx, rx 1 , link 1 pcmcia att/conf memory 7 na 1 1 0 0 ethernet tx, rx, link pcmcia att/config mem 7s na 1 1 1 0 ethernet tx, rx, link pcmcia att/config mem 8 na 1 1 0 1 ethernet tx, rx 1 , link 1 pcmcia att/config mem 8s na 1 1 1 1 ethernet tx, rx 1 , link 1 pcmcia att/config mem note 1 : the lan91c96 implementation is di fferent from the lan91c95; the lan91c96 powers down the ethernet rx and link logic also, whereas, the lan91c95 does not. table 5.9 - pcmcia mode next state no. wakes up by pwr dwn pin (a= assrtd) ecor func enable ecsr pwr down ctr pwrdwn bit ctr wakeup_en bit comments 1 pwrdwn pin deassertion na no change no change no change no change pin deassertion will make the att/conf mem accessible entirely 2 na 1 0 0 0 fully awake 3 by writing a 0 to ctr wakeup_en bit na 1 0 0 0 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 35 revision 1.0 (10-24-08) datasheet next state no. wakes up by pwr dwn pin (a= assrtd) ecor func enable ecsr pwr down ctr pwrdwn bit ctr wakeup_en bit comments 4 by writing a 0 to ctr pwrdwn and 0 to wakeup_en bits na 1 0 0 0 5 by writing 1 to ecor func enable, 0 to ecsr power down, 0 to ctr pwrdwn na 1 0 0 0 note : both power down bits need to be written as 0 only if both were set to 1 6 by writing 1 to ecor func enable, 0 to ecsr power down, 0 to ctr pwrdwn, and 0 to wakeup_en bit na 1 0 0 0 note : both power down bits need to be written as 0 only if both were set to 1 7 by writing 0 to ecsr power down bit* na 1 0 0 0 7s by writing 0 to ecsr power down and a 0 to ctr pwrdwn bit na 1 0 0 0 note : both power down bits need to be written as 0 only if both were set to 1 8 by writing 0 to ecsr power down and writing ctr pwrdwn bit = 0 & wakeup_en = 0, if needed na 1 0 0 0 8s by writing 0 to ecsr power down and writing ctr pwrdwn bit = 0 & wakeup_en = 0, if needed na 1 0 0 0 pcmcia attribute memory address 0- 7ffeh the attribute memory is implemented using an external parallel eeprom, rom or flash rom. a parallel eeprom (or equivalent external device) must be used for cis. in local bus mode, serial eeprom is used for config uration and ieee node address making it software compatible to the lan9xxx family of ethernet lan controllers. the eepr om is optional for both local bus and pcmcia requiring a minimum size of 64 x 16 bit word addresses. the lan91c96 generates the appropriate control lines (nfcs and nfwe) to read and write the attribute memory, and it tri-states the data bus during external attribute memory accesses. only even locations are used. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 36 smsc lan91c96 5v&3v datasheet pcmcia configuration registers address 8000-8003h the pcmcia configuration registers are stored in side the lan91c96 above the external attribute memory address space. these registers are used to configure and control the pcmcia related functionality of the ether net. these registers are eight bit wide and reside on even locations. the lan91c96 will ignore odd access to this area and ignore writes. the device will read zeros on odd access. this address offset has changed from prior lan9xxx pcmcia family designs to allow a larger address range for other attribute memory data. this dat a could be a larger card information structure or a xip data image. attribute memory map the eprom attribute memory decodes are shown be low. internal to the lan91c96, the memory addressing logic will allow byte or word access on even byte boundaries. lan91c96 uses address a0-9, a15, along with nreg, nce1, nw e and noe. an on odd byte address access (a0=1), the lan91c96 will generate a arbitrary value of zero (0) since the pcmcia specification states that the high byte of a word access in attribute memory is a dont care. this allows backward compat ibility to 8 bit hosts. with or without 64x16 bit serial eeprom: attribute memory address external eprom store configuratio n registers 0 - 7ffeh x 8000h - 8003h x 5.6 pcmcia configuration registers description ethernet function (base address 8000h) 8000h - ethernet configuration option register (ecor) 7 6 5 4 3 2 1 0 sreset levireq (read only) 0 wr attrib enable function 0 1 0 0 0 0 0 0 bit 7 - sreset: this bit when set will clear all internal registers associated with the ethernet function except itself and it will also lo wer the nireq/ready pin. when this bit is cleared, nireq/ready pin will be raised. bit 6 - levireq: this bit is read only and reads as a one to indicate level mode interrupts are used. pulse mode interrupts are not supported. bit 5, 4, 3 - not defined bit 2 - wrattrib: this bit when set (1) allows wr iting into the external attribute memory space. bit 1 - not defined bit 0 - enable function: this bit enables (1) or disables (0) the ethernet func tion. while the ethernet function is disabled it remains in power down mode, no access to t he ethernet i/o space (i.e. the bank downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 37 revision 1.0 (10-24-08) datasheet register are not accessible) is allowed. ireq is not generated for this function and inpack* is not returned for acce sses to the ethernet registers. note : magic packet bit setting is ignored if the function is disabled. 8002h - ethernet configuration and status register (ecsr) 7 6 5 4 3 2 1 0 iois8 pwrdwn intr 0 0 0 0 0 0 0 0 bit 7 - not defined bit 6 - not defined bit 5 - iois8: this bit when set, indicates that the host can only do 8 bi t cycles (on d7-0). the ethernet function is forced in this case to eight bit mode regardless of the en16* pin and 16bit value. this bit also disables (floats) the iois16 signal. bit 4 - not defined bit 3 - not defined bit 2 - pwrdwn: when set (1), this bit puts the la n91c96 ethernet function into power down mode. the ethernet function is also put into power down mode when the enable function bit (ecor bit 0 in pcmcia only) is cleared. refer to the power down logic section for additional information. bit 1 - intr: this bit is read/set to a one when this func tion is requesting interrupt service. when this bit is set, ireqout is asserted. bit 0 - not defined downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 38 smsc lan91c96 5v&3v datasheet chapter 6 frame format in buffer memory for ethernet the frame format in memory is similar to that in the transmit and receive areas. the first word is reserved for the status word, the next word is used to s pecify the total number of bytes, and that in turn is followed by the data area. the data area holds the packet itself, and its length is determined by the byte count. the frame memory format is word oriented. figure 6.1 C data frame format transmit packet receive packet status word written by csma upon transmit completion (see status register) written by csma upon receive completion (see rx frame status word) byte count written by cpu written by csma data area written/modified by cpu written by csma control byte written by cpu to control odd/even data bytes written by csma. also has odd/even bit byte count - divided by two, it def ines the total number of words, including the status word, the byte count word, the data area and the contro l byte. the receive byte count always appears as even, the oddfrm bit of t he receive status word indicates if the low byte of the last word is reserved byte count (always even) status word data area last data byte (if odd) bit0 bit15 ram offset (decimal) 02 4 1534 max control byte last byte 1st byte 2nd byte downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 39 revision 1.0 (10-24-08) datasheet relevant. the transmit byte count least significant bit will be assumed 0 by the controller regardless of the value written in memory. the maximum size of the frame can be stored in 6 pages (256 bytes per page), the maximum byte count number is 1536. data area (in ram) the data area starts at offs et 4 of the packet structur e, and it can extend for up to 1531 bytes. the data area contains six bytes of destination address followed by six bytes of source address, followed by a variable length number of bytes. on transmit, all bytes are provided by the cpu, including the source address. the lan91c96 does not insert its own source address. on receive, all bytes are provided by the csma side. the 802.3 frame length word (frame type in ethernet) is not interpreted by the lan91c96. it is treated transparently as data for both transmit and receive operations. control byte (in ram) the control byte always resides on the high byte of the last word. for transmit packets the control byte is written by the cpu as: x x odd crc 0 0 0 0 odd - if set, indicates an odd number of bytes, with the last byte being right before the control byte. if clear, the number of data bytes is even and the by te before the control by te is not transmitted. crc - when set, crc will be appended to the frame. this bit has only meaning if the nocrc bit in the tcr is set. for receive packets the control byte is written by the controller as: 0 1 odd 0 0 0 0 0 odd - if set, indicates an odd number of bytes, with the last byte being right before the control byte. if clear, the number of data bytes is even and the by te before the control byte should be ignored. receive frame status word (in ram) this word is written at the beginning of each receive frame in memory. it is not available as a register. algn err brod cast badcrc oddfrm toolng too short hash value mult cast 5 4 3 2 1 0 algnerr - frame had alignment error. brodcast - receive frame was broadcast. badcrc - frame had crc error. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 40 smsc lan91c96 5v&3v datasheet oddfrm - this bit when set indicates that the received frame had an odd number of bytes. toolng - the received frame is longer than the 802.3 maximum size (1518 bytes on the cable). tooshort - the received frame is shorter than the 802.3 minimum size (64 bytes on the cable). hash value - provides the hash value used to index the multicast registers. can be used by receive routines to speed up the group address search. the hash value consists of the six most significant bits of the crc calculated on the destination a ddress, and maps into the 64 bit mult icast table. bits 5,4,3 of the hash value select a byte of the multicast table, while bi ts 2,1,0 determine the bit within the byte selected. examples of the address mapping are shown in the table below: address hash value 5-0 multicast table bit ed 00 00 00 00 00 0d 00 00 00 00 00 01 00 00 00 00 00 2f 00 00 00 00 00 000 000 010 000 100 111 111 111 mt-0 bit 0 mt-2 bit 0 mt-4 bit 7 mt-7 bit 7 multcast - receive frame was multicast. if hash value corresponds to a multicast table bit that is set, and the address was a multicast, the packet will pass addre ss filtering regardless of other filtering criteria. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 41 revision 1.0 (10-24-08) datasheet figure 6.2 - lan91c96 registers downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 42 smsc lan91c96 5v&3v datasheet chapter 7 registers map in i/o space 7.1 i/o space access the address is determined by t he ethernet i/o base registers . the ethernet i/o space can be conf igured as an 8 or 16 bit i/o space, and is similar to the la n91c94, lan91c 92, etc. i/o space mapping. to limit the i/o space requirements to 16 locations, the regist ers are split into 4 banks in local bus mode and 5 banks in pcmcia mode. the last word of the i/o area is shared by all banks and can be used to change the bank in use. banks 0 through 3 functionally corr espond to the lan91c94 banks, while bank 4 allows access to the pcmcia registers in local bus mode. registers are described using the following convention: offset name type symbol e bank select register read/write bsr bit 15 bit14 bit 13 bit 12 bit 11 bit 10 bit9 bit8 rst val rst val rst val rst val rst val rst val rst val rst val bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 rst val rst val rst val rst val rst val rst val rst val rst val offset - defines the address offset within the io base where the register can be accessed at, provided the bank select has the appropriate va lue. the offset specifies the addre ss of the even byte (bits 0-7) or the address of the complete word. the odd byte can be accessed using address (offset + 1). some registers (e.g. the interrupt ack. or the interrupt mask) are functionally described as two eight bit registers. in such case, the offset of each one is independently specified. regardless of the functional description, when the la n91c96 is in 16 bit mode, all registers can be accessed as words or bytes. rst val - the default bit values upon hard reset are highlighted below each register. 7.2 i/o space registers description (bank 4 registers are described under pcmcia configuration registers and will not be described again). downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 43 revision 1.0 (10-24-08) datasheet bank select register offset name type symbol # in hex bank select register read/write bsr 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 bs2 bs1 bs0 x x x x x 0 0 0 bs2, bs1, bs0 - determine the bank presently in use. this register is always accessible except in power down mode and is used to select the register bank in use. the upper byte always reads as 33h and can be used to help determine the i/o location of the lan91c96. the bank select register is always acce ssible regardless of the value of bs0-2. the lan91c96 implements only 5 banks in both pcmc ia and local bus mode, therefore accesses to non-existing banks will ignore writes and reads will return 0x33 on byte reads. all 5 banks are accessible in both local bus and pcmcia mode. bs2 bs1 bs0 bank # 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 2 3 4 none none none i/o space - bank0 offset name type symbol 0 transmit control regi ster read/write tcr this register holds bits programmed by the cpu to control some of the protocol transmit options. fdse reserved eph loop stp sqet fduplx mon_ csn nocrc 0 0 0 0 0 0 x 0 pad_en txp_en forcol loop txena 0 x x x 0 0 0 0 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 44 smsc lan91c96 5v&3v datasheet nocrc - does not append crc to transmitted frames when set, allows software to insert the desired crc. defaults to zero, namely crc inserted. fdse - full duplex switched ethernet. when set, the lan91c96 is configured for full duplex switched ethernet, it defaults clear to normal csma/cd protocol. in fdse mode the lan91c96 transmit and receive processes are fully independent, namely no defer ral and no collision detection are implemented. when fdse is set, fduplx is internally assumed high and mon_csn is assumed low regardless of their actual values. reserved C must be 0. eph_loop - internal loopback at the eph block. does not exercise the encoder decoder. serial data is looped back when set. defaults low. note: after exiting the loopback test, an sreset in the ecor or the soft_rst in the rcr must be set befor e returning to normal operation. stp_sqet - stop transmission on sqet error. if set, stops and disables transmitter on sqe test error. does not stop on sqet error and transmits next frame if clear. defaults low. fduplx - when set it enables full duplex operation. th is will cause frames to be received if they pass the address filter regardless of the source for the frame. when clear the node will not receive a frame sourced by itself. clearing this bit (normal operation), allows in promiscuous mode, not to receive its own packet. txp_en - this bit is reserved and should always be set to 0 on the lan91c96. mon_csn - when set the lan91c96 monitors carrier wh ile transmitting. it must see its own carrier by the end of the preamble. if it is not seen, or if carrier is lost during tr ansmission, the transmitter aborts the frame without crc and turns itself off. when this bit is clear the transmitter ignores its own carrier. defaults low. pad_en - when set, the lan91c96 will pad transmit frames shorter than 64 bytes with 00. for tx, cpu should write the actual byte count before padded by the lan91c96 to the buffer ram, excludes the padded 00. when this bit is cleared, the lan91c96 does not pad frames. forcol - when set the transmitter will force a collision by not deferring deliberately. after the collision this bit is reset automatically. this bit defaults low to normal operation. loop - local loopback. when set, transmit frames are internally looped to the receiver after the encoder/decoder. collision and carrier sense are ignor ed. no data is sent out. defaults low to normal mode. txena - transmit enabled when set. transmit is disabled if clear. when the bit is cleared the lan91c96 will complete the current transmission before stoppi ng. when stopping due to an error, this bit is automatically cleared. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 45 revision 1.0 (10-24-08) datasheet table 7.1 - transmit loop aui fdse fduplx eph_loop loop loops at transmits to network x x x 1 x eph block no x x 1 0 1 endec no 1 0 1 0 0 cable yes 0 0 1 0 0 10base-t driver yes x 0 0 0 0 normal csma/cd - no loopback yes x 1 1 0 0 full duplex switched ethernet - no loopback and no sqet yes i/o space - bank0 offset name type symbol 2 eph status register read only ephsr this register stores the st atus of the last transmitted frame. this register value, upon individual transmit packet completion, is stored as the first word in th e memory area allocated to the packet. packet interrupt processing should use the copy in memory as the re gister itself will be updated by subsequent packet transmissions. the register can be used for real time values (like txena and link ok). if txena is cleared the register holds the last packet completion status. reserved link_ ok res ctr _rol exc _def lost carr latcol wakeup 0 0 0 0 0 0 0 0 tx defr ltx brd sqet 16col ltx mult mul col sngl col tx_suc 0 0 0 0 0 0 0 0 reserved C must be 0. link_ok - state of the 10base-t link integrity test. a transition on the value of this bit generates an interrupt when the le enable bit in the control register is set. res C this bit is reserved and will always return a zero(0). ctr_rol - counter roll over. when set one or more 4 bit counters have reached maximum count (15). cleared by reading the ecr register. exc_def - excessive deferral. when set last/current transmit was deferred for more than 1518 * 2 byte times. cleared at the end of every packet sent. lost_carr - lost carrier sense. when set indicate s that carrier sense was not present at end of preamble. valid only if mon_csn is enabled. this condition causes txena bit in tcr to be reset. cleared by setting txena bit in tcr. latcol - late collision detected on la st transmit frame. if set a late co llision was detected (later than 64 byte times into the frame). when detected the transmitter jams and turns itself off clearing the txena bit in tcr. cleared by setting txena in tcr. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 46 smsc lan91c96 5v&3v datasheet wakeup - when this bit is set, it indicates that a re ceive packet was received that had the magic packet (mp) signature of the nodes own individual address repetitions in it. this bit indicates a valid detection for magic packet. tx_defr - transmit deferred. when set, carrier was detec ted during the first 6.4 usec of the inter frame gap. cleared at the end of every packet sent. ltx_brd - last transmit frame was a broadcast. set if frame was broadcast. cleared at the start of every transmit frame. sqet - signal quality error test. the transmitter opens a 1.6 us window 0.8 us after transmission is completed and the receiver returns inactive. during this window, the transmitter expects to see the sqet signal from the transceiver. the absence of this signal is a 'signal quality error' and is reported in this status bit. transmission stops and eph int is set if st p_sqet is in the tcr is also set when sqet is set. this bit is cleared by setting txena high. 16col - 16 collisions reached. set when 16 collisions are detected for a transmit frame. txena bit in tcr is reset. cleared when txena is set high. ltx_mult - last transmit frame was a multicast. set if frame was a multicast. cleared at the start of every transmit frame. mulcol - multiple collision detected for the last tr ansmit frame. set when more than one collision was experienced. cleared when tx_suc is high at the end of the packet being sent. snglcol - single collision detected for the last transmi t frame. set when a collision is detected. cleared when tx_suc is high at the end of the packet being sent. tx_suc - last transmit was successful. set if transmit completes without a fatal erro r. this bit is cleared by the start of a new frame transmission or when txena is set high. fatal errors are: ? 16 collisions ? sqet fail and stp_sqet = 1 ? carrier lost and mon_csn = 1 ? late collision i/o space - bank0 offset name type symbol 4 receive control register read/write rcr soft rst filt car 0 0 0 0 strip crc rxen 0 0 0 0 0 0 0 0 almul prms rx_ abort 0 0 0 0 0 0 0 0 soft_rst - software activated reset. active high. in itiated by writing this bit high and terminated by writing the bit low. the lan91c96 configuration is not preserved, except for configuration, base, and ia0- 5 registers. the eeprom in both local bus and pcmcia mode is not reloaded after software reset. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 47 revision 1.0 (10-24-08) datasheet filt_car - filter carrier. when set filters leading edge of carrier sense for 12 bit times. otherwise recognizes a receive frame as soon as carrier sense is active. strip_crc - when set it strips the crc on received frames. when clear the crc is stored in memory following the packet. defaults low. rxen - enables the receiver when set. if cleared, completes receiving current frame and then goes idle. defaults low on reset. almul - when set accepts all multicast frames (frame s in which the first bit of da is '1'). when clear accepts only the multicast frames that matc h the multicast table setting. defaults low. prms - promiscuous mode. when set receives all frames. change vs. lan91c92: does not receive its own transmission when not in full duplex(fduplx)!. rx_abort - this bit is set if a receive frame was aborted due to length longer than 1532 bytes. the frame will not be received. the bit is cleared by reset or by the cpu writing it low. i/o space - bank0 offset name type symbol 6 counter register read only ecr counts four parameters for mac statistics. when an y counter reaches 15 an interrupt is issued. all counters are cleared when reading the register, and do not wrap around beyond 15. number of exc. deferred tx number of deferred tx 0 0 0 0 0 0 0 0 multiple collision count single collision count 0 0 0 0 0 0 0 0 each four bit counter is increment ed every time the corresponding event, as defined in the eph status register bit description, occurs. note that the count ers can only increment once per enqueued transmit packet, never faster, limiting the rate of interrupts that can be generated by the counters. for example if a packet is successfully transmitted after one collision the single collision count field is incremented by one. if a packet experiences between 2 to 16 collisions, the multiple collision count field is incremented by one. if a packet experiences deferral the number of deferr ed tx field is incremen ted by one, even if the packet experienced multiple deferrals during its collision retries. the counter register facilitates maintaining statistics in the auto release mode where no transmit interrupts are generated on successful transmissions. reading the register in the transmit service routine will be enough to maintain statistics. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 48 smsc lan91c96 5v&3v datasheet i/o space - bank0 offset name type symbol 8 memory information register read only mir for software compatibility with other lan9000 parts a ll memory-related information is represented in 256 x m byte units, where the multiplier m is dete rmined by the mcr upper byte. m equals 1 for the lan91c96. free memory available (in bytes* 256* m) 0 0 0 1 1 0 0 0 memory size (in bytes* 256* m) 0 0 0 1 1 0 0 0 free memory available - this register can be read at any time to determine the amount of free memory. the register defaults to the memory size upon reset or upon the reset mmu command. memory size - this register can be read to determi ne the total memory size, and will always read 18h (6144 bytes) for the lan91c96. memory size register m actual memory lan91c90 ffh 1 64 kbytes lan91c90 40h 1 16 kbytes lan91c92/ lan91c94 12h 1 4608 bytes lan91c95 18h 1 6144 bytes lan91c96 18h 1 6144 bytes lan91c100 ffh 2 128 kbytes i/o space - bank0 offset name type symbol a memory configuration register lower byte read/write upper byte read only mcr memory size multiplier m 0 0 1 1 0 0 1 1 memory reserved for transmit (in bytes * 256 * m) 0 0 0 0 0 0 0 0 memory reserved for transmit programming this value allows the host cpu to reserve memory to be used later for transmit, limiting the amount of memory that receive pac kets can use up. when programmed for zero, the memory allocation between transmit and receive is completely dynamic. when programmed for a non-zero value, the allocation is dynamic if the free memory exceeds the programmed value, while receive allocation requests are denied if the free memory is less or equal to the programmed value. this register defaults to zero upon reset. it is not affected by the reset mmu command. the value written to the mcr is a reserved memory space in addition to any memory currently in use. if the memory allocated for transmi t plus the reserved space for transmit is required to be constant (rather than grow with transmit allocati ons) the cpu should update the value of this register after allocating or releasing memory. the contents of mir as well as the low byte of mcr are specified in 256* m bytes. the multiplier m is determined by bits 11, 10 and 9 as follows: downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 49 revision 1.0 (10-24-08) datasheet device bit 11 bit 10 bit 9 m max memory size feast 0 1 0 2 256 (note 7.1) 256 (note 7.1) 2=128k lan91c90 0 0 1 1 256 (note 7.1) 256 (note 7.1) 1=64k future 0 1 1 4 256k future 1 0 0 8 512k future 1 0 1 16 1m note 7.1 bits 11, 10 and 9 are read only bits used by the software driver to transparently run on different controllers of the lan9000 family. i/o space - bank1 offset name type symbol 0 configuration register read/write cr the configuration register holds bits that define t he device configuration and are not expected to change during run-time. this register is part of the eepr om saved setup in local bus mode only. in pcmcia mode, this register is initialized to the state as defined bel ow as if not eeprom is present in local bus mode (ie. eneep pin is a dont care in pcmcia mode) 0 no wait full step set sqlch aui select 0 x x 0 x 0 0 0 16bit dis link reserved int sel1 int sel0 function of en16* pin 0 1 1 0 0 0 x no wait - when set, does not request additional wa it states. an exception to this are accesses to the data register if not ready for a trans fer. when clear, negates iochrdy for two to three 20mhz clocks on any cycl e to the lan91c96. full step - this bit is used to select the signaling mode for the aui port. when set the aui port uses full step signaling. defaults low to half st ep signaling. this bit is only meaningful when aui select is high. set sqlch - when set, the squelch level used for the 10base-t receive signal is 240mv. when clear the receive squelch level is 400mv. defaults low. aui select - when set the aui interface is used, when clear the 10base-t interface is used. defaults low. 16bit - used in conjunction with en16* and io is 8 to define the width of the system bus. if the en16* pin is low, this bit is forced high. otherwi se the bit defaults low and can be programmed by the host cpu. dis link - this bit is used to disable the 10base- t link test functions. when this bit is high the lan91c96 disables link test functions by not generating nor monitoring the network for link pulses. in this mode the lan91c96 will transmit packets regardless of the link test, the ephsr link_ok bit will be set and the link led will st ay on. when low the link test functions are enabled. if the link status indicates fail, the ephsr link_ok bit will be low, while transmit packets enqueued will be processed by the lan91c96, transmit data will not be sent out to the cable. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 50 smsc lan91c96 5v&3v datasheet int sel1-0 - in local bus mode, used to select one out of four interrupt pins. the three unused interrupts are tristated. int sel1 int sel0 interrupt pin used 0 0 intr0 0 1 intr1 1 0 intr2 1 1 intr3 i/o space - bank1 offset name type symbol 2 base address register read/write bar for local bus mode only, this register holds the i/o address decode option chosen for the i/o and rom space. it is part of the eeprom saved setup, and is not usually modified during run-time. a15 a14 a13 a9 a8 a7 a6 a5 0 0 0 1 1 0 0 0 rom size ra18 ra17 ra16 ra15 ra14 0 1 1 0 0 1 1 1 a15 - a13 and a9 - a5 - these bits are compared in local bus mode against the i/o address on the bus to determine the iobase for la n91c96 registers. the 64k i/o space is fully decoded by the lan91c96 down to a 16 location space, therefore the unspecified address lines a4, a10, a11 and a12 must be all zeros. rom size - determines the rom decode area in local bus mode memory space as follows: 00 = rom disable 01 = 16k: ra14-18 define rom select. 10 = 32k: ra15-18 define rom select. 11 = 64k: ra16-18 define rom select. ra18-ra14 - these bits are compared in local bu s mode against the memory address on the bus to determine if the rom is being accessed, as a function of the rom size. rom accesses are read only memory accesses defined by memrd* going low. for a full decode of the address space unspecified up per address lines have to be: a19 = "1", a20-a23 lines are not directly decoded, however local bus systems will only activate smemrd* only when a20- a23=0. all bits in this register are loaded from the seri al eeprom in local bus mode only. in pcmcia mode, the i/o base is set to the default value (a s in local bus mode) as defined below. the i/o base decode defaults to 300h (namely, the high byte defaults to 18h). rom size defaults to 01. rom decode defaults to cc000 (namely the low byte defaults to 67h). below chart shows t he decoding of i/o base address 300h: a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 51 revision 1.0 (10-24-08) datasheet i/o space - bank1 offset name type symbol 4 through 9 individu al address registers read/write iar these registers are loaded starting at word lo cation 20h of the eeprom upon hardware reset or eeprom reload. the registers can be modified by the software driver, but a store operation will not modify the eeprom individual address contents. bit 0 of individual address 0 register corresponds to the first bit of the address on the cable. address 0 0 0 0 0 0 0 0 0 address 1 0 0 0 0 0 0 0 0 address 2 0 0 0 0 0 0 0 0 address 3 0 0 0 0 0 0 0 0 address 4 0 0 0 0 0 0 0 0 address 5 0 0 0 0 0 0 0 0 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 52 smsc lan91c96 5v&3v datasheet i/o space - bank1 offset name type symbol a general address registers read/write gpr high data byte 0 0 0 0 0 0 0 0 low data byte 0 0 0 0 0 0 0 0 this register can be used as a way of storing and retrieving non-volatile information in the eeprom to be used by the software driver. the storage is word oriented, and the eeprom word address to be read or written is specified using the six lo west bits of the pointer register. this register can also be used to sequentially program the individual address area of the eeprom, that is normally protected from accidental store operations. this register will be used for eeprom read and write only when the eeprom select bit in the control register is set. this allows generic eeprom read and wr ite routines that do not affect the basic setup of the lan91c96. i/o space - bank1 offset name type symbol c control register read/write ctr 0 rcv_ bad pwrdn wakeup _en auto releas e 1 0 0 0 0 0 x x 1 le enable cr enable te enable eeprom select reload store 0 0 0 x x 0 0 0 rcv_bad - when set, bad crc packets are received. when clear bad crc packets do not generate interrupts and their memory is released. pwrdn - active high bit used to put the ethernet function in power down mode. cleared by: 1. a write to any register in the lan91c96 i/o space. 2. hardware reset. this bit is combined with the pwrdwn bit in ecsr and with the powerdown bit to determine when the function is powered down. wakup_en - active high bit used to enable the contro ller in the appropriate power down modes to power up and set the wakeup bit in the ephsr -> generate an eph interrupt(if not masked). when clear (0), no magic packet scanning is done on receive packets. note : setting (1) the bit is meaningful only if the functi on is enabled (enable function bit in cor; offset 8000h). downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 53 revision 1.0 (10-24-08) datasheet auto release - when set, transmit pages are released by transmit completion if the transmission was successful (when tx_suc is set). in that case there is no status word associated with its packet number, and successful packet numbers are not even written into the tx completion fifo. a sequence of transmit packets will only generate an interrupt when the sequence is completely transmitted (tx empty int will be set), or when a packet in the sequence experiences a fatal error (tx int will be set). upon a fatal error txena is cleared and the transmission sequence stops. the packet number that failed is the present in the fifo ports register, and its pages are not released, allowing the cpu to restart the sequence after corrective action is taken. le enable - link error enable. when set it enables the link_ok bit transition as one of the interrupts merged into the eph int bi t. defaults low (disabled). writing this bit also serves as the acknowledge by clearing previous link interrupt conditions. cr enable - counter roll over enable. when set it en ables the ctr_rol bit as one of the interrupts merged into the eph int bi t. defaults low (disabled). te enable - transmit error enable. when set it enables transmit error as one of the interrupts merged into the eph int bit. defaults lo w (disabled). transmit error is any condition that clears txena with tx_suc staying low as described in the ephsr register. eeprom select - this bit allows the cpu to specify which registers the eeprom reload or store refers to. when high, the general purpose register is the only regi ster read or written. when low, the reload and store functions are enabled. reload the lan91c96 reads the configuration, base and individual address, and store writes the configuration and base registers. also when set it will read the eeprom and update relevant r egisters with its contents. this bit then clears upon completing the operation. store the store lan91c96 bit when set, stores the contents of all relevant registers in the serial eeprom. this bit is cleared upon completing the operation. note : when an eeprom access is in progress the store and reload bits will be read back as high. the remaining 14 bits of this register will be invalid. du ring this time, attempted read/write operations, other than polling the eeprom status, will not have any effect on the internal registers. the cpu can resume accesses to the lan91c96 after both bits are low. a worst case reload operation initiated by reset or by software takes less than 750usec in either mode. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 54 smsc lan91c96 5v&3v datasheet i/o space - bank2 offset name type symbol 0 mmu command register write only busy bit readable mmucr this register is used by the cpu to control the memory allocation, de-allocation, tx fifo and rx fifo control. the three command bits determine the command issued as described below: high byte: reserved reserved reserved reserved reserved reserved reserved reserved 0 0 0 0 0 0 0 0 low byte: command 0 n2 n1 n0/ busy w x y z 0 reserved C must be 0. command set: wxyz 0000 0) noop - no operation - 0010 2) allocate memory for tx - n2, n1, n0 defines the amount of memory requested as (value + 1) 256* bytes. namely n2, n1, n0 = 1 will request 2 256* = 512 bytes. valid range for n2, n1, n0 is 0 through 5. a shift-based divide by 256 of the packet length yields the appropriate value to be used as n2, n1 and n0. immediately generates a completion code at the allocation result register. can optionally generate an interrupt on successful completion. the allocation time can take worst case (n2, n1, n0 + 2)* 200ns. 0100 4) reset mmu to initial state - frees all memory allocations, clears relevant interrupts, resets packet fifo pointers. 0110 6) remove frame from top of rx fifo- to be issued after cpu has completed processing of present rece ive frame. this command removes the receive packet number from the rx fifo and brings the next receive frame (if any) to the rx area (output of rx fifo). 0111 7) remove frame from top of tx fifo- to be issued only after the host disabled the transmitter and has completed processing of the present transmit frame. note: determining transmit completion is done by polling the tempty bit in the transmit fifo port register. this command removes the transmit packet number from the tx fifo and brings the next transmit frame (if any) to the tx area (output of tx fifo). 8) remove and release top of rx fifo - like 6) but also releases all memory used by the packet presently at the rx fifo output. 1010 a) release specific packet - frees all pages allocated to the packet specified in the packet number register. should not be used for frames pending transmission. typically used to remove transmitted frames, after reading their completion status. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 55 revision 1.0 (10-24-08) datasheet can be used following 6 (to release receive packet memory in a more flexible way than 8). 1100 c) enqueue packet number into tx fifo - this is the normal method of transmitting a packet just loaded into ram. the packet number to be enqueued is taken from the packet number register. 1110 f) reset tx fifos - this command will reset both tx fifos. the tx fifo holding the packet numbers awaiting transmission and the tx completion fifo. this command provides a mechanism for canceling packet transmissions, and reordering or bypassing the transmit queue. the reset tx fifos command should only be used w hen the transmitter is di sabled. unlike the reset mmu command, the reset tx fifos does not release any memory. notes : ? only command 2 uses n2, n1 and n0. ? when using the reset tx fifos command, the cpu is re sponsible for releasing the memory associated with outstanding packets, or re-enqueuing them. packet numbers in the completion fifo can be read via the fifo ports register before issuing the command. ? mmu commands releasing memory (commands 8 and a) should only be issued if the corresponding packet number has memory allocated to it. command sequencing a second allocate command (command 2) should no t be issued until the present one has completed. completion is determined by reading the failed bit of the allocation result register or through the allocation interrupt. a second release command (commands 8 and a) should not be issued if the previous one is still being processed. the busy bit indicates that a release command is in progress. after issuing command a, the contents of the p nr should not be changed until busy goes low. after issuing command 8, command 6 should not be issued until busy goes low. busy bit - readable at bit 0 of the mmu command register address. when set indicates that mmu is still processing a release command. when clear, mmu has already completed last release command. busy and failed bits are set upon the trailing edge of command. i/o space - bank2 offset name type symbol 2 packet number register read/write pnr reserved packet number at tx area 0 0 0 0 0 0 0 0 packet number at tx area - the value written into this register determines which packet number is accessible through the tx area. some mmu commands use the number stored in this register as the packet number parameter. this register is cl eared by a reset or a reset mmu command. reserved C this bit is reserved. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 56 smsc lan91c96 5v&3v datasheet i/o space - bank2 offset name type symbol 3 allocation result register read only arr failed allocated packet number 1 0 0 0 0 0 0 0 failed - a 0 indicates a successful allocation completion. if the allocation fails th e bit is set and only cleared when the pending allocation is satisfied. defaults high upon reset and reset mmu command. for polling purposes, the alloc_int in the interrupt status register should be used because it is synchronized to the read operation. sequence: 1. allocate command 2. poll alloc_int bit until set 3. read allocation result register allocated packet number - packet number associated wi th the last memory al location request. the value is only valid if the failed bit is clear. note : for software compatibility with futu re versions, the value read from the arr after an allocation request is intended to be written into the pnr as is, withou t masking higher bits (provided failed = 0). i/o space - bank2 offset name type symbol 4 fifo ports register read only fifo this register provides access to the read ports of the receive fifo and the transmit completion fifo. the packet numbers to be processed by the interrupt service routines are read from this register. rempty rx fifo packet number 1 0 0 0 0 0 0 0 tempty tx fifo packet number 1 0 0 0 0 0 0 0 rempty - no receive packets queued in the rx fifo. for polling purposes, uses the rcv_int bit in the interrupt status register. top of rx fifo packet number - packet number pres ently at the output of the rx fifo. only valid if rempty is clear. the packet is removed from the rx fifo using mmu commands 6) or 8) . tempty - no transmit packets in completion queue. for polling purposes, uses the tx_int bit in the interrupt status register. tx fifo packet number - packet number presently at the output of the tx fifo. only valid if tempty is clear. the packet is removed when a tx int acknowledge is issued. note : ? for software compatibility with future versions, the valu e read from each fifo register is intended to be written into the pnr as is, without masking higher bits (provided tempty and rempty = 0 respectively). downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 57 revision 1.0 (10-24-08) datasheet i/o space - bank2 offset name type symbol 6 pointer register read/write ptr rcv auto incr. read reserved reserved pointer high 0 0 0 0 0 0 0 0 pointer low 0 0 0 0 0 0 0 0 pointer register - the value of this register de termines the address to be accessed within the transmit or receive areas. it will auto-increment on acce sses to the data register when auto incr. is set. the increment is by one for every byte access, and by two for every word access. when rcv is set the address refers to the receive area and uses the output of rx fifo as the packet number, when rcv is clear the address refers to the transmit area and uses the packet number at the packet number register. read bit - determines the type of access to follow. if the read bit is high the operation intended is a read. if the read bit is low the operation is a write. loading a new pointer value, with the read bit high, generates a pre-fetch into the data register for read purposes. read-back of the pointer will indicate the value of the address last accessed by the cpu (rather than the last pre-fetched). this allows any in terrupt routine that uses the pointer, to save it and restore it without affecting the process being interrupted. the pointer register should not be loaded until 400ns after the last write operation to the data register to ensure that the data register fifo is empty. on r eads, if iochrdy is not connected to the host, the data register should not be read before 400ns after the pointer was loaded to allow the data register fifo to fill. if the pointer is loaded using 8 bit writes, the low byte should be loaded first and the high byte last. reserved C must be 0. if auto incr. is not set, the pointer must be loaded with an even value. i/o space - bank2 offset name type symbol 8 & a data register read/write data data high data low data register - used to read or write the data buffer byte/word presently addressed by the pointer register. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 58 smsc lan91c96 5v&3v datasheet this register is mapped into two uni-directional fifo s that allow moving words to and from the lan91c96 regardless of whether the pointer address is even or odd. data goes through the write fifo into memory, and is pre-fetched from memory into the read fifo. if byte accesses are used, the appropriate (next) byte can be accessed through the data low or data high registers. the order to and from the fifo is preserved. byte and word accesses can be mixed on the fly in any order. this register is mapped into two consecutive word lo cations to facilitate the usage of double word move instructions. the data register is accessible at any address in the 8 through ah range, while the number of bytes being transferred are determined by a0 and nsbhe in local bus mode, and by a0, nce1 and nce2 in pcmcia mode. i/o space - bank2 offset name type symbol c interrupt status register read only ist tx idle int reserved eph int rx_ ovrn int alloc int tx empty int tx int rcv int 0 0 0 0 0 1 0 0 offset name type symbol c interrupt acknowledge register write only ack reserved rx_ ovrn int tx empty int tx int offset name type symbol d interrupt mask register read/write msk tx idle int mask reserved eph int mask rx_ ovrn int mask alloc int mask tx empty int mask tx int mask rcv int mask 0 0 0 0 0 0 0 0 this register can be read and written as a word or as two individual bytes. the interrupt mask register bits enable the appropria te bits when high and disable them when low. a mask bit being set will cause a hardware interrupt. tx idle int - transmit idle interrupt. set when the trans mit state machine is not active. this bit is used under the condition where the tx fifo is still not empt y, the transmitter is disabled and the host wants to determine when the transmitter is completed with the current transmit packet. this event usually happens when the host wants to insert at the head of the transmit queue a frame for example. typical flow of events/condition: 1. the transmit fifo is not empty 2. the transmit done fifo is either empty or not empty 3. the transmit engine is either active or not active downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 59 revision 1.0 (10-24-08) datasheet flow of events for an insertion of a transmit packet: 1. disable the transmitter 2. remove and release any transmit done packets in the tx fifo 3. via polling or an interrupt driven event, determine stat us of tx idle int bit and wait until this bit is set. this will determine when the transmitter is truly done with all transmit events. 4. remove and store (if any, in software) packet numbers from the transmit fifo. (these packets will later be restored into the tx fifo after the control frame is inserted into the front of the tx fifo). 5. enable transmitter 6. en-queue packe t into tx fifo 7. en-queue rest of packets, if an y, into tx fifo (restore tx fifo) reserved C must be 0. eph int - set when the ethernet protocol handler section indicates one out of various possible special conditions. this bit merges exception type of interrup t sources, whose service time is not critical to the execution speed of the low level drivers. the exact nature of the interrupt can be obtained from the eph status register (ephsr), and enabling of these sources can be done via the control register. the possible sources are: 1. link - link test transition 2. ctr_rol - statistics counter roll over 3. txena cleared - a fatal transmit error occurred forcing txena to be cleared. tx_suc will be low and the specific reason will be reflected by the bits: 3.1 sqet - sqe error 3.2 lost carr - lost carrier 3.3 latcol - late collision 3.4 16col - 16 collisions any of the above interrupt sources can be masked by the appropriate enable bits in the control register. 1) le enable (link error enable), 2) cr enable (counter roll over), 3) te enable (transmit error enable) eph int will only be cleared by the following methods: 1. clearing the le enable bit in the control regist er if an eph interrupt is caused by a link_ok transition. 2. reading the counter register if an eph interr upt is caused by statistics counter roll over. 3. setting txena bit high if an eph interrupt is caused by any of the fatal transmit error listed above (3.1 to 3.4). rx_ovrn int - set when 1) the receiver aborts due to an overrun due to a failed memory allocation, 2) the receiver aborts due to a packet length of greater th an 2k bytes, or 3) the receiver aborts due to the rcv discrd bit in the rcv register set. the rx_ovrn int bit latches the condition for the purpose of being polled or generating an interrupt, and will only be cleared by writing the acknowledge register with the rx_ovrn int bit set. alloc int - set when an mmu request for tx ram pages is successful. this bit is the complement of the failed bit in the allocation result register. the alloc int bit is cleared by the mmu when the next allocation request is processed or allocation fails. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 60 smsc lan91c96 5v&3v datasheet tx empty int - set if the tx fifo goes empty, can be used to generate a single interrupt at the end of a sequence of packets enqueued for transmission. this bi t latches the empty condition, and the bit will stay set until it is specifically cleared by writing the acknowledge register wi th the tx empty int bit set. if a real time reading of the fifo empty is desired , the bit should be first cleared and then read. the tx_empty mask bit should only be set after the following steps: a) a packet is enqueued for transmission b) the previous empty condition is cleared (acknowledged) tx int - set when at least one pa cket transmission was completed or any of the below transmit fatal errors occurs: 1. sqet - sqe error 2. lost carr - lost carrier 3. latcol - late collision 4. 16col - 16 collisions the first packet number to be serviced can be read from the fifo ports register. the tx int bit is always the logic complement of the tempty bit in the fifo ports register. after servicing a packet number, its tx int interrupt is removed by writing th e interrupt acknowledge register with the tx int bit set. rcv int - set when a receive interrupt is generated. the first packet number to be serviced can be read from the fifo ports register. the rcv int bit is alwa ys the logic complement of the rempty bit in the fifo ports register. receive interrupt is cleared when rx fifo is empty. notes : ? for edge triggered systems, the interrupt service rout ine should clear the interrupt mask register, and only enable the appropriate interrupts after the interrupt source is serviced (acknowledged). downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 61 revision 1.0 (10-24-08) datasheet tx fifo empty dq s nq intack1 dq s nq intack2 dq s nq intack4 rx_ovrn nwrack fatal tx error sqet lost carr latcol 16col interrupt status register 76543210 nrdist interrupt mask register 76543210 oe noe edge detector on link err le_enable ctr-rol cr_enable te_enable allocation failed rx_ovrn int eph int mdint alloc int tx empty int tx int rcv int int rcv fifo not empty d[7:0] d[15:8] data bus d[15:0] main interrupts tx fifo not empty dq s nq intack7 mdint figure 7.1 C interrupt structure downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 62 smsc lan91c96 5v&3v datasheet i/o space - bank 3 offset name type symbol 0 through 7 multicast table read/write mt multicast table 0 0 0 0 0 0 0 0 0 multicast table 1 0 0 0 0 0 0 0 0 multicast table 2 0 0 0 0 0 0 0 0 multicast table 3 0 0 0 0 0 0 0 0 multicast table 4 0 0 0 0 0 0 0 0 multicast table 5 0 0 0 0 0 0 0 0 multicast table 6 0 0 0 0 0 0 0 0 multicast table 7 0 0 0 0 0 0 0 0 the 64 bit multicast table is used for group address fi ltering. the hash value is defined as the six most significant bits of the crc of t he destination addresses. the three ms b's determine the register to be used (mt0-7), while the other three determine the bit within t he register. if the appropriate bit in the table is set, the packet is received. if the almul bit in the rcr register is set, all multicast addresses are received regardless of the multicast table values. hashing is for a partial group addre ss filtering scheme. additional filtering is done in software. but the hash value being a part of the receiv e status word, the receive routine can reduce the search time significantly. with the proper memory stru cture, the search is limited to comparing only the multicast addresses that have the actual hash value in question. i/o space - bank3 offset name type symbol 8 management interface read/write mgmt this register contains status bits and control bits for management of different transceivers modules. some of the pins are shared with the serial eeprom interf ace. management is software controlled, and does not use the serial eeprom and the transceiver management functions at the same time. nxndec ios2 ios1 ios0 0 0 1 1 mdoe mclk mdi md0 0 0 1 1 0 0 0 0 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 63 revision 1.0 (10-24-08) datasheet nxndec - read only bit reflecting t he status of the nxendec pin. ios0-2 - read only bits reflecting the status of the ios0-2 pins. mdo - the value of this bit drives the eedo pin when mdoe=1. mdclk - the value of this bit drives the eesk pin when mdoe=1. mdoe - when this bit is high pins eedo eecs an d eesk will be used for transceiver management functions, otherwise the pins assume the eeprom values. mode=0 mode=1 eedo serial eeprom data out bit mdo eesk serial eeprom clock bit mclk eecs serial eeprom chip select 0 i/o space - bank3 offset name type symbol a revision register read only rev 0 0 1 1 0 0 1 1 chip rev 0 1 0 0 1 0 0 1 chip id value device 3 lan91c90/lan91c92 4 lan91c94 5 lan91c95 4 (note 7.2) lan91c96 7 lan91c100 8 lan91c100fd 9 lan91c110 chip - chip id. can be used by software drivers to identify the device used. rev - revision id. incremented for each revision of a given device. note 7.2 the lan91c96 shares the same chip id (#4) as the lan91c94. the rev. id for the lan91c96 will begin from six (#6). downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 64 smsc lan91c96 5v&3v datasheet i/o space - bank3 offset name type symbol c rcv register read/write rcv rcv counter 0 0 1 1 0 0 1 1 rcv discrd mbo mbo mbo mbo mbo 0 0 0 1 1 1 1 1 rcv discrd - set to discard a packet being received. mbo C must be 1. rcv counter - this 8 bit value is the real time c ount, in bytes, of the current receive packet (this includes the 4 bytes of status and packet length). the count is rounded to the nearest nibble (16 bytes). the counter is multiplied by 16 decimals to ob tain the number of bytes currently received. note : the value of the rcv counter is in real time asynch ronous format (i.e. the value is constantly changing). it is recommended that the register be read multiple times to get an accurate reading. note: the rcv counter register will return a value of 0 when no receive event is occurring. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 65 revision 1.0 (10-24-08) datasheet chapter 8 theory of operation the concept of presentin g the shared ram as a fifo of packets, with a memory management unit allocating memory on a per packet basis responds to the following needs: memory allocation for receive vs. transmit - a fixed partition between receive and transmit area would not be efficient. being able to dynamically allocate it to transmit and receive represents almost the equivalent of duplicating the memory size for some workstation type of drivers. software overhead - by presenting a fifo of packets, the software driver does not have to waste any time in calculating pointers for the different buffers that ma ke up different packets. the driver usually deals with one packet at a time. with this approach, packets are accessible always at the same fixed address, and access is provided to any byte of the packet. headers can be analyzed without reading out the entire packet. the packet can be moved in or out with a block move operation. multiple upper layer support - the lan91c96 facilitates interfacing to multiple upper layer protocols because of the receive packet processing flexibility. a receive lookahead scheme like odi or ndis drivers is supported by copying a small part of the received packet and letting the upper layer provide a pointer for the rest of the data. if the upper layer indicates it does not want the packet, it can be removed upon a single command. if the upper layer wants a specific par t of the packet, a block move operation starting at any particular offset can be done. out of order receive processing is also supported: if memory for one packet is not yet available, receive packet processing can continue. efficiency - lacking any level of indirection or linked lis ts of pointers, virtually all the memory is used for data. there are no descriptors, forward links and pointers at all. this simplicity and memory efficiency is accomplished without giving up the benefits of linked lists which is unlimited back-to-back transmission and reception without cpu intervention for as long as memory is available. full duplex support full duplex ethernet operation refers to the ability of the network (or parts of it) to simultaneously transmit and receive packets. the csma/cd protocol used by ethernet for accessing a shared medium is inherently half duplex , and so is the 10base-t physical layer where simultaneous transmit and receive activity is interpreted as a collision. the lan91c96 supports two types of full duplex operation: 1. full duplex mode for diagnostic purposes only, where the received packet is the transmit packet being looped back. this mode is enabled using the fduplx bit in the tcr. in this mode the csma/cd algorithm is used to gain access to the media. 2. fdse (full duplex switched ethernet). enabled by fdse bit in tcr bit. when the lan91c96 is configured for fdse, its transmit and receive path s will operate independently with carrier sense csma/cd function disabled. note : in fdse mode the packets are not looped back internally. the loopback (full duplex for diagnostics(fduplx)) function of 10base-t transce ivers is permanently engaged. it presents the transmit pair waveform to the receive circuit internally . this function allows the receiver to see the controllers own transmission, not only to permit diagnos tics, but also to ensure sure that the node defers to its own transmission - as specified in 802.3. behavior in fdse mode a) no deferral - the transmit channel is dedicated an d always available - the device transmits whenever it has a packet ready to be sent, while respecting the interframe spacing between transmit packets. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 66 smsc lan91c96 5v&3v datasheet b) no collision detection - there are no collisions in a switched full duplex environment. magic packet support if the wakeup_en bit in the control register (bank1, offset c) is set, the controller will generate the interrupt if this bit is not set, this functionality is disabled. setting (1) the bit is meaningful only if the function is enabled. for local bus mode, when wakeup_en bi t in control register (bank1, offset c) is set, the controller is set ready for scanning of magic packet, the device will not drop into lower power state. when a magic packet is received, the ethernet contro ller will generate an interrupt causing the host to initiate a service routine to find the source of the even t. the interrupt bit in the ecsr is also set if the host plans on polling the controller for wakeup status. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 67 revision 1.0 (10-24-08) datasheet 8.1 typical flow of events for transmit (auto release = 0) s/w driver mac side 1 issue allocate memory for tx - n bytes - the mmu attempts to allocate n bytes of ram. 2 wait for successful completion code - poll until the alloc int bit is set or enable its mask bit and wait for the interrupt. the tx packet number is now at the allocation result register. 3 load transmit data - copy the tx packet number into the packet number register. write the pointer register, then use a block move operation from the upper layer transmit queue into the data register. 4 issue "enqueue packet number to tx fifo" - this command writes the number present in the packet number register into the tx fifo. the transmission is now enqueued. no further cpu intervention is needed until a transmit interrupt is generated. 5 the enqueued packet will be transferred to the mac block as a function of txena (ntcr) bit and of the deferral process (1/2 duplex mode only) state. 6 a) upon transmit comp letion the first word in memory is written with the status word. the packet number is moved from the tx fifo into the tx completion fifo. interrupt is generated by the tx completion fifo being not empty. b) if a tx failure occurs on any packets, tx int is generated and txena is cleared, transmission sequence stops. the packet number of the failure packet is presented at the tx fifo ports register. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 68 smsc lan91c96 5v&3v datasheet 7 a) service interrupt - read interrupt status register. if it is a transmit interrupt, read the tx fifo packet number from the fifo ports register. write the packet number into the packet number register. the corresponding status word is now readable from memory. if status word shows successful transmission, issue release packet number command to free up the memory used by this packet. remove packet number from completion fifo by writing tx int acknowledge register. b) option 1) release the packet. option 2) check the transmit status in the eph status register, write the packet number of the current packet to the packet number register, re-enable txena, then go to step 4 to start the tx sequence again. 8.2 typical flow of events for transmit (auto release = 1) s/w driver mac side 1 issue allocate memory for tx - n bytes - the mmu attempts to allocate n bytes of ram. 2 wait for successful completion code - poll until the alloc int bit is set or enable its mask bit and wait for the interrupt. the tx packet number is now at the allocation result register. 3 load transmit data - copy the tx packet number into the packet number register. write the pointer register, then use a block move operation from the upper layer transmit queue into the data register. 4 issue "enqueue packet number to tx fifo" - this command writes the number present in the packet number register into the tx fifo. the transmission is now enqueued. no further cpu intervention is needed until a transmit interrupt is generated. 5 the enqueued packet will be transferred to the mac block as a function of txena (ntcr) bit and of the deferral process (1/2 duplex mode only) state. 6 transmit pages are released by transmit completion. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 69 revision 1.0 (10-24-08) datasheet 7 a) the mac generates a txempty interrupt upon a completion of a sequence of enqueued packets. b) if a tx failure occurs on any packets, tx int is generated and txena is cleared, transmission sequence stops. the packet number of the failure packet is presented at the tx fifo ports register. 8 a) service interrupt C read interrupt status register, exit the interrupt service routine. b) option 1) release the packet. option 2) check the transmit status in the eph status register, write the packet number of the current packet to the packet number register, re-enable txena, then go to step 4 to start the tx sequence again. 8.3 flow of events for receive s/w driver csma/cd side 1 enable reception - by setting the rxen bit. 2 a packet is received with matching address. memory is requested fr om mmu. a packet number is assigned to it. additional memory is requested if more pages are needed. 3 the internal dma logic generates sequential addresses and writes the receive words into memory. the mmu does the sequential to physical address translation. if overrun, packet is dropped and memory is released. 4 when the end of packet is detected, the status word is placed at the beginning of the receive packet in memory. byte count is placed at the second word. if the crc checks correctly the packet number is writte n into the rx fifo. the rx fifo being not empty causes rcv int (interrupt) to be set. if crc is incorrect the packet memory is released and no interrupt will occur. 5 service interrupt - read the interrupt status register and determine if rcv int is set. the next receive packet is at receive area. (its packet number can be read from the fifo ports register). the software driver can process the packet by accessing the rx area, and can move it out to system memory if desired. when processing is complete the cpu issues the remove and release from top of rx command to have the mmu free up the used memory and packet number. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 70 smsc lan91c96 5v&3v datasheet figure 8.1 C interrupt service routine isr save bank selec & address ptr registerst mask interrupts read interrupt register call tx intr or txempty intr tx intr? get next tx rx intr? yes no no yes call rxintr alloc intr? no yes write allocated pkt# into packet number reg. write ad ptr reg. & copydata & source address enqueue packet packet available for transmission? yes no call allocate eph intr? no yes call eph intr set "ready for packet" flag return buffers to upper layer disable allocation interrupt mask restore address pointer & bank select registers unmask interrupts exit isr downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 71 revision 1.0 (10-24-08) datasheet rx intr write ad. ptr. reg. & read word 0 from ram destination multicast? read words 2, 3, 4 from ram for address filtering address filtering pass? status word ok? do receive lookahead get copy specs from upper layer okay to copy? copy data per upper layer specs issue "remove and release" command return to isr ye s n o ye s no no yes no yes figure 8.2 - rx intr downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 72 smsc lan91c96 5v&3v datasheet tx interrupt with auto_release = false 1. save the packet number register saved_pnr = read byte (bank 2, offset 2) 2. read the eph status register temp = read (bank 0, offset 2) 3. acknowledge tx interrupt write byte (0x02, (bank 2, offset c)); 4. check for status of transmission if ( temp and 0x0001) { //if successful transmission step 4.1.1: issue mmu release (release specific packet) write (0x00a0, (bank2, offset 0)); step 4.1.2: return from the routine } else { //transmission has failed // now we can either release or re-enqueue the packet step 4.2.1: get the packet to re lease/re-enqueue, stored in fifo temp = read (bank 2, offset 4) temp = temp & 0x003f step 4.2.2: write to the pnr write (temp, (bank2, offset 2)) step 4.2.3 // option 1: release the packet write (0x00a0, (bank2, offset 0)); //option 2: re-enqueue the packet write (0x00c0, (bank2, offset 0)); step 4.2.4: re-enable transmission temp = read(bank0, offset 0); temp = temp2 or 0x0001 write (temp2, (bank 0, offset 0)); step 4.2.5: return from the routine } 5. restore the packet number register write byte (saved_pnr, (bank 2, offset 2)) figure 8.3 -tx intr downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 73 revision 1.0 (10-24-08) datasheet figure 8.4 -txempty intr (assumes auto releas e option selected) txempty intr write acknowledge reg. with txempty bit set read txempty & tx intr acknowledge txintr re-enable txena return to isr issue "release" command restore packet number txempty = 0 & txint = 0 (waiting for completion) txempty = x & txint = 1 (transmission failed) txempty = 1 & txint = 0 (everything went through successfully) read pkt. # register & save write address pointer register read status word from ram update statistics update variables downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 74 smsc lan91c96 5v&3v datasheet figure 8.5 C driver send and allocate routines allocate issue "allocate memory" command to mmu read interrupt status register enqueue packet set "ready for packet" flag return copy remaining tx data packet into ram return buffers to upper layer write allocated packet into packet # register write address pointer register copy part of tx data packet into ram write source address into proper location store data buffer pointer clear "ready for packet" flag enable allocation interrupt allocation passed? ye s n o driver send choose bank select register 2 call allocate exit driver send read allocation result register downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 75 revision 1.0 (10-24-08) datasheet memory partitioning unlike other controllers, the lan91c 96 does not require a fixed memory partitioning between transmit and receive resources. the mmu allocates and de-allocates memory upon different events. an additional mechanism allows the cpu to prevent the receive pr ocess from starving the transmit memory allocation. memory is always requested by the side that needs to write into it, that is: the cpu for transmit or the csma/cd for receive. the cpu can control the number of bytes it req uests for transmit but it cannot determine the number of bytes the receive process is going to demand. furthermore, the receive process requests will be dependent on network traffic, in par ticular on the arrival of broadcast and multicast packets that might not be for the no de, and that are not subject to upp er layer software flow control. in order to prevent unwanted traffic from usin g too much memory, the cpu can program a "memory reserved for transmit" parame ter. if the free memory falls below the "memory reserved for transmit" value, mmu requests from the csma/cd block will fail an d the packets will overrun and be ignored. whenever enough memory is released, packets can be received again. if the reserved value is too large, the node might lose data which is an abnormal condition. if the value is kept at zero, memory allocation is handled on first-come first-served basis for the entire memory capacity. note that with the memory management built into the lan91c96, the cpu can dynamically program this parameter. for instance, when the driver does not need to enqueue transmissions, it can allow more memory to be allocated for receive (by reducing the value of the reserved memo ry). whenever the driver needs to burst transmissions it can reduce the receive memory allocation. the driver program the parameter as a function of the following variables: 1. free memory (read only register) 2. memory size (read only register) the reserved memory value can be changed on the fl y. if the memory reserved for tx value is increased above the free memory, receive packets in progress are still received, but no new packets are accepted until the free memory increases above t he memory reserved value. interrupt generation the interrupt strategy for the transmit and receive processes is such that it does not represent the bottleneck in the transmit and receive queue management between the software driver and the controller. for that purpose there is no regi ster reading necessary before the next element in the queue (namely transmit or receive packet) can be handled by the controller. the transmit and receive results are placed in memory. the receive interrupt will be generated when the receiv e queue (fifo of packets) is not empty and receive interrupts are enabled. this allows the interrupt serv ice routine to process many receive packets without exiting, or one at a time if the isr just returns after processing and removing one. there are two types of transmit interrupt strategies: 1. one interrupt per packet. 2. one interrupt per sequence of packets. the strategy is determined by how the transmit interrupt bits and the auto release bit are used. tx int bit - set whenever the tx completion fifo is not empty. tx empty int bit - set whenever the tx fifo is empty. auto release - when set, successful transmit packets are not written into completion fifo, and their memory is released automatically. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 76 smsc lan91c96 5v&3v datasheet 1. one interrupt per packe t: enable tx int, set auto release=0. the software driver can find the completion result in memory and process the interrupt one packet at a time. depending on the completion code the driver will take different actions . note that the transmit process is working in parallel and other transmissions might be taking plac e. the lan91c96 is virtually queuing the packet numbers and their status words. in this case, the transmit interrupt service routine can find the next packet number to be serviced by reading the tx fifo packet number at the fifo ports register. this eliminates the need for the driver to keep a list of packet numbers bei ng transmitted. the numbers are queued by the lan91c96 and provided back to the cpu as their transmission completes. 2. one interrupt per sequence of packets: enable tx empty int and tx int, set auto release=1. tx empty int is generated only after transmitting the last packet in the fifo. tx int will be set on a fatal transmit error allowing the cpu to know t hat the transmit process has stopped and therefore the fifo will not be emptied. this mode has the advantage of a smaller cpu overhe ad, and faster memory de-allocation. note that when auto release=1 the cpu is not provid ed with the packet numbers that completed successfully. note : the pointer register is shared by any process accessing the lan91c96 memory. in order to allow processes to be interruptible, the interrupting proce ss is responsible for reading the pointer value before modifying it, saving it, and restoring it before returning from the interrupt. typically there would be three processes using the pointer: 1) transmit loading (sometimes interrupt driven) 2) receive unloading (interrupt driven) 3) transmit status readi ng (interrupt driven). 1) and 3) also share the usage of the packet number register. therefore saving and restoring the pnr is also required from interrupt service routines. power down the lan91c96 can enter power down mode by means of the pwrdwn pin (pin 68) or the pwrdn bit (control register, bit 13). when in power down mode, the lan91c96 will: ? stop the crystal oscillator ? tristate: data bus ? interrupts(only by pwrdn bit) ? niocs16 ? 10base-t and aui outputs ? turn off analog bias currents ? drive the eeprom and rom outputs inactive ? preserve contents of registers and memory the pwrdwn pin is internally gated with the r eset (reset pin before de-glitching) and with the sreset bit (cor bit 7). this gating function internally negates power down whenever reset is high or sreset is high to allow the oscillator to run during r eset. except for this gating function, all other uses of the reset pin use a de-glitched version of the signal as defined in the pin description section. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 77 revision 1.0 (10-24-08) datasheet nxendec pin pwrdn pin pwrdn bit 0 1 1 x x 0 1 x 0 0 0 1 normal external endec operation normal internal endec operation powerdown - normal mode restored by pwrdwn pin going low powerdown - bit is cleared by a write access to any lan91c96 register or by hardware reset downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 78 smsc lan91c96 5v&3v datasheet figure 8.6 C interrupt generation for transmit; receive, mmu t x f i f o t x co m p l e t i o n f i f o rx f i f o c s m a / c d l o g i ca l a dd re s s p a ck e t # m m u p hy s i ca l a d dr e s s r a m cpu address csma address rx packet number rx fifo packet number packet number register pack # o ut m.s. bit only 'empty' 'not empty' tx done packet number 'not empty' interrupt status register rcv int tx empty int tx int alloc int two options downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 79 revision 1.0 (10-24-08) datasheet chapter 9 functional description of the blocks 9.1 memory management unit the mmu interfaces the on-chip ram on one side an d the arbiter on the other for address and data flow purposes. for allocation and de-allocation, it interfaces the arbiter only. the mmu deals with a single ported memory and is not aware of the fact that there are two entities requesting allocation and actually accessing memory. the mapping function done by the mmu is only a function of the packet number accessed and of the offset within that packet being accessed. it is not a function of who is requesting the acce ss or the direction of the access. to accomplish that, memory accesses as well as mmu allocation and de-allocation requests are arbitrated by the arbiter block before reaching the mmu. memory allocation could take some time, but the alloc int bit in interrupt status register is negated immediately upon allocation request, allowing the system to poll that register at any time. memory de- allocation command completion indication is provided via the busy bit, readable through the mmu command register. the mapping and queuing functions of the mmu rely on the uniqueness of the packet number assigned to the requester. for that purpose the packet number assignment is c entralized at the mmu, and a number will not be reused until the memory associated with it is released. it is clear that a packet number should not be released while the number is in the tx or rx packet queue. the tx and rcv fifos are deep enough to handle the total number of packets the mmu can allocate, therefore there is no need for the programmer or the hardware to check fifo full conditions. 9.2 arbiter the function of the arbiter is to sequence packet ra m accesses as well as mmu requests in such a way that the on-chip single ported ram and a single mmu can be shared by two parties. one party is the host cpu and the other party is the csma/cd block. the arbiter is address transparent, namely, any address can be accessed at any time. in order to exploit the sequential nature of the access, and minimize t he access time on the system side, the cpu cycle is buffered by the data register rather than go directly to and from memory. whenever a write cycle is performed, the data is written into the data register a nd will be written into memory as a result of that operation, allowing the cpu cycle to complete befor e the arbitration and memory cycle are complete. whenever a read cycle is performed, the data is prov ided immediately from the data register, without having to arbitrate and complete a memory cycle. t he present cycle results in an arbitration request for the next data location. loading the point er causes a similar pre-fetch request. this type of read-ahead and write-behind arbitration allo ws the controller to have a very fast access time, and would work without wait states for as long as the cy cle time specification is satisfied. the values are 40 ns access time, and 185ns cycle time. by the same token, csma/cd cycles might be postponed. the worst case csma/cd latency for arbiter service is one memory cycle. the arbiter uses the pointer register as the cpu provided address, and the internal dma address from the csma/cd side as the addresses to be provided to the mmu. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 80 smsc lan91c96 5v&3v datasheet the data path routed by the arbite r goes between memory (the data path does not go through the mmu) on one side and either the cpu side bus or the data path of the csma/cd core. the data path between memory and the data register is in fact buffered by a small fifo in each direction. the fifos beneath the data register can be read and written as bytes or words, in any sequential combination. the presence of these fifos makes sure that word transfers are possible on the system bus even if the address loaded into the pointer is odd. 9.3 bus interface the bus interface handles the data, address and control interfaces and is compliant with the local bus, pcmcia, and 68000-interface specifications and allows 8 or 16 bit adapters to be designed with the lan91c96 with no glue to interface the local bus or pcmcia bus. the functions in this block in clude address decoding for i/o and rom memory (including address relocation support) for local bus, data path routing, sequential memory address support, optional wait state generation, boot ro m support, eeprom setup function, bus transceiver control, and interrupt generation / selection. for local bus, i/o address decodi ng is done by comparing a15-a4 to the i/o base address determined in part by the upper byte of the base address register, and also requiring that aen be low. if the above address comparison is satisfied and the lan91c96 is in 16 bit mode, niocs16 will be asserted (low). a valid comparison does not yet indicate a valid i/o cycl e is in progress, as the addresses could be used for a memory cycle, or could even glitch through a valid value. for local bus and pcmcia, only when niord or niowr are activated the i/o cycle begins. in pcmcia mode, a4-a15 are ignor ed for i/o decodes, which rely on the pcmcia host, decoding for the slot. input a10 for local bus is used as an outpu t (nfwe) for pcmcia to enable flash memory write for programming the attribute memory. it is valid only when nwe is 0 and cor2 is 1. na11/nfcs is used to select the flash memory chip. the lan91c96 provides a glueless interface to a stri pped down version of the motorola 68000 processor. this interface is limited to 16 bits only. none of the size or function pins are supported. the lan91c96 functions as a slave and requires some of its pins pulled high or low for the interface to function. the smc91c96 enters the 68000 interface mode when niord and niowr are asserted simultaneously. once the two are asserted together, the only way to return to the local bus interface is by hard resetting the chip. notice that the chip is required to power up in local bus mode to use the 68000 interface. for the first chip access, the first transfer (to the 91c96) must be a write as the cont roller uses this write to confirm the 68000 mode. the lan91c96 responds to addresses per the base address register contents (as in the local bus mode). 9.4 wait state policy the lan91c96 can work on most system buses without having to add wait states. the two parameters that determine the memory access profile are the read access time and the cycle time into the data register. the read access time is 40ns and the cycle time is 185ns. if any one of them does not satisfy the application requirements, wait states should be added. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 81 revision 1.0 (10-24-08) datasheet if the access time is the problem, iochrdy should be negated for all accesses to the lan91c96. this can be achieved by programming the no wait st bit in the configuration register to 0. the lan91c96 will negate iochrdy for 100ns to 150ns on every access to any register. if the cycle time is the problem, programming no wait st as described before will solve it but at the expense of slowing down all accesses. the altern ative is to let the lan91c96 negate iochrdy only when the data register fifos require so. namely, if no wait st is set, iochrdy will only be negated if a data register read cycle starts and there is less than a full word in the read fifo, or if a write cycle starts and there is more than two bytes in the write fifo. the cycle time is defined as the time between leading edges of read from the data register, or equivalently between trailing edges of write to the data register. for example, in an local bus system the cycle time of a 16 bit transfer will be at least 2 clocks for the i/o access to the lan91c96 (+ one clock for the memory cycle) for a total of 3 clocks. in absolute time it means 375n s for an 8mhz bus, and 240ns for a 12.5 mhz bus. the cycle time will not increase when configured for full duplex mode, because the csma/cd memory arbitration requests are sequenced by the dma logic and never overlap. 9.5 arbitration considerations the arbiter exploits the sequential nature of the cpu ac cesses to provide a very fast access time. memory bandwidth considerations will have an effect on t he cpu cycle time but no effect on access time. for normal 8mhz, 10mhz, and 12.5mhz local bus, as well as eisa normal cycles, the lan91c96 can be accessed without negating ready. when write operations occur, the data is written into a fifo. the cpu cycle can complete immediately, and the buffered data will be written into memory later. the memory arbitration request is generated as a function of that fifo being not empt y. the nature of the cycle requested (byte/word) is determined by the lsb of the pointer and the number of bytes in the fifo. when read operations occur, words are pre-fetched upon pointer loading in order to have at least a word ready in the fifo to be read. new pre-fetch cycles ar e requested as a function of the number of bytes in the fifo. for example, if an odd pointer value is loaded, first a byte is pre-fetched into the fifo, and immediately a full word is pre-fetched completing three bytes into the fifo. if the cpu reads a word, one byte will be left again a new word is pre-fetched. in the case of write, if an odd point er value is loaded, and a full word is written, the fifo holds two bytes, the first of which is immediately written into an odd me mory location. if by that time another byte or word was written, there will be two or three bytes in the fifo and a full word can be written into the now even memory address. when a csma/cd cycle begins, the arbiter will rout e the csma/cd dma addresses to the mmu as well as the packet number associated with the operation in progress. in full-duplex mode, receive and transmit requests are alternated in such a way that th e cpu arbitration cycle time is not affected. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 82 smsc lan91c96 5v&3v datasheet 9.6 dma block the dma block resides between the csma/cd block and the arbiter. it can interface both the data path and the control path of the csma/cd block for different operations. its functions include the following: ? start transmission process into the csma/cd block. ? generate csma/cd side addresses for accessing memory during transmit and receive operations. ? generate mmu memory requests and verify success. ? compute byte count and write it in first locations of receive packet. ? write transmit status word in first locations of transmit packet. ? determine if enough memory is available for reception. ? de-allocate transmit memory after suitable completion. ? de-allocate receive memory upon error conditions. ? initiate retransmissions upon collisions (if less than 16 retries). ? terminate reception and release memory if packet is too long. the specific nature of each operation and its trigger event are: 1. tx operations will begin if txena is set and tx fi fo is not empty. the dma logic does not need to use the tx packet number, it goes directly from the fifo to the mmu. however the dma logic controls the removal of the packet number from the fifo. 2. generation of csma/cd side ad dresses into memory: independent 11-bit counters are kept for transmit and receive in order to allow full-duplex operation. 3. mmu requests for allocation are generated by the dma logic upon reception. the initial allocation request is issued when the csma block indicates an ac tive reception. if alloca tion succeeds, the dma block stores the packet number assigned to it, and generates write arbitration requests for as long as the csma/cd fifo is not empty. in parallel the csma/cd completes t he address filtering and notifies the dma of an address match. if there is no address match, the dma logic will release the allocated memory and stop reception. 4. when the csma/cd block notifies the dma logic t hat a receive packet was completed, if the crc is ok, the dma will either write the previously stored packet number into the rx packet number fifo (to be processed by the cpu), or if the crc is bad the dma will just issue a release command to the mmu (and the cpu will never see that packet). packets with bad crc can be received if the rcv_bad bit in the configuration register is set. 5. if auto_release is set, a release is issued by the dma block to the mmu after a successful transmission (tx_succ set), and the tx completion fifo is clocked together with the tx fifo preventing the packet number from moving into the tx completion fifo. 6. based on the rx counter value, if a receive pa cket exceeds 1532 bytes, reception is stopped by the dma and the rx abort bit in the receive control re gister is set. the memory allocated to the packet is automatically released. 7. if an allocation fails, the csma/cd block will activate rx_ovrn int upon detecting a fifo full condition. rxen will stay active to allow rece ption of subsequent packets if memory becomes available. the csma/cd block will flush the fifo upon the new frame arrival. 9.7 packet number fifos the transmit packet fifo stores the packet numbers awaiting transmission, in the order they were enqueued. the fifo is advanced (written) when the cpu issues the "enqueue packet number command", the packet number to be written is provided by the cpu via the packet number register. the number was previously obtained by requesting memory allocation from the mmu. the fifo is read by the downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 83 revision 1.0 (10-24-08) datasheet dma block when the csma/cd block is ready to procee d on to the next transmission. by reading the tx empty int bit the cpu can determine if this fifo is empty. the transmit completion fifo stores the packet num bers that were already transmitted but not yet acknowledged by the cpu. the cpu can read the next packet number in this fifo from the fifo ports register. the cpu can remove a packet number from this fifo by issuing a tx int acknowledge. the cpu can determine if this fifo is empty by read ing the tx int bit or the fifo ports register. the receive packet fifo stores the packet numbers already received into memory, in the order they were received. the fifo is advanced (written) by the dma block upon reception of a complete valid packet into memory. the number is determined the moment the dm a block first requests memory from the mmu for that packet. the first receive packet number in the fi fo can be read via the fifo ports register, and the data associated with it can be accessed through the receive area. the packet number can be removed from the fifo with or without an automat ic release of its associated memory. the fifo is read out upon cpu command (remove packe t from top of rx fifo, or remove and release command) after processing the receive packet in the receive area. the width of each fifo is 5 bits per packet number. the depth of each fifo equals the number of packets the lan91c96 can handle (18). the guideline is software transparency; the software driver should not be aware of different devices or fifo depths. if the mmu memory allocation succeeded , there will be room in the transmit fifo for enqueuing the packet. conversely if there is free memo ry for receive, there should be room in the receive fifo for storing the packet number. note that the cpu can enqueue a transmit command with a packet number that does not follow the sequence in which the mmu assigned packet numbers. for example, when a transmission failed and it is retried in software, or when a receive packe t is modified and sent back to the network. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 84 smsc lan91c96 5v&3v datasheet t x f i f o c o m p l e t i o n f i f o r x f i f o c s m a / c d l o g i c a l a d d r e s s p a c k e t # m m u p h y s i c a l a d d r e s s r a m cpu address csma address rx packet number rx fifo pa c k e t n um b e r packet number register pack # ou t tx done packet number allocation result registe r allocate release pa ck # o u t dma rd wr tx decoder mmu command register allocate release int figure 9.1 - mmu packet number flow and relevant registers 9.8 csma block the csma/cd block is first interfaced via its control registers in order to define its operational configuration. from then on, t he dma interface between the csma/cd block and memory is used to transfer data to and from its data path interface. for transmit, the csma/cd block will be asked to transmit frames as soon as they are ready in memory. it will continue transmissions until any of the following transmit error occurs: 1. collisions on same frame 2. late collision 3. lost carrier sense and mon_csn set 4. sqet error and stp_sqet set in that case txena will be cleared and the cpu should restart the transmission by setting it again. if a transmission is successful, txena stays set and the csma/cd is provided by the dma block with the next packet to be transmitted. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 85 revision 1.0 (10-24-08) datasheet for receive, the cpu sets rxen as a way of star ting the csma/cd block receive process. the csma/cd block will send data after address filtering through the da ta path to the dma block. data is transferred into memory as it is received, and the final check on data acceptance is the crc checking done by the csma/cd block. in any case, the dma takes care of requesting/releasing memory for receive packets, as well as generating the byte count. the receive status word is provided by the csma/cd block and written in the first location of the receive structure by the dma block. if configured for stori ng crc in memory, the csma/cd unit will transfer the crc bytes through the dma interface, and t hen will be treated like regular data bytes. note that the receive status word of any packet is available only through memory and is not readable through any other register. in order to let the cpu know about receive overruns, the rx_ovrn int is set and latched in the interrupt status register, which is readable by the cpu at any time. the address filtering is done inside the csma/cd bl ock. a packet will be received if the destination address is broadcast, or if it is addressed to the indivi dual address of the lan91c96, or if it is a multicast address and almul bit is set, or if it is a multicast addr ess matching one of the mult icast table entries. if the prms bit is set, all packets are received. the csma/cd block is a full duplex machine, and when working in full duplex mode, the csma/cd block will be simultaneously using it s data path transmit and receive interfaces. statistical counters are kept by t he csma/cd block, and are readable through the appropriate register. the counters are four bits each, and can generate an interrupt when reaching their maximum values. software can use that interrupt to update statistics in me mory, or it can keep the counter interrupt disabled, while relying on the transmit interrupt routine reading the counters. given that the counters can increment only once per transmit, this technique is a good comple ment for the single interrupt per sequence strategy. the interface between the csma/cd block and memory is word oriented. two bi-directional fifos make the data path interface. whenever a normal collision occurs (less than 16 retr ies), the csma/cd will trigger the backoff logic and will indicate the dma logic of the collision. the dma is responsible for restarting the data transfer into the csma/cd block regardless of whether the collision happened on the preamble or not. only when 16 retries are reached, the csma/cd block will clear the txena bit, and cpu intervention is required. the dma will not aut omatically restart data transfer in th is case, nor will it transmit the next enqueued packet until txena is set by the cpu. the dma will move the packet number in question from the tx fifo into the tx completion fifo. 9.9 network interface the lan91c96 includes both an aui interface for thick and thin coax applications and a 10base-t interface for twisted pair applicati ons. functions common to both are: 1. manchester encoder/decoder to convert nrz data to manchester encoded data and back. 2. a 32ms jabber timer to prevent inadvertently long transmissions. when 'jabbing' occurs, the transmitter is disabled, automatic loopback is disa bled (in 10base-t mode), and a collision indication is given to the controller. the interface 'unjabs' when the transmitter has been idle for a minimum of 256 ms. 3. a phase-lock loop to recover data and clock from the manchester data stream with up to plus or minus 18ns of jitter. 4. diagnostic loopback capability. 5. led drivers for collision, tr ansmission, reception, and jabber. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 86 smsc lan91c96 5v&3v datasheet 9.10 10base-t the 10base-t interface conforms to the twisted pair mau addendum to t he 802.3 specific ation. on the transmission side, it converts t he nrz data from the controller to manchester data and provides the appropriate signal level for driving the media. signal are predistorted before transmission to minimize isi. the collision detection circuitry monitors the simulta neous occurrence of received signals and transmitted data on the media. during transmissi on, data is automatically looped ba ck to the receiver except during collision periods, in which case the input to the receiver is network data. during collisions, should the receive input go idle prior to the transmitter going idle, input to the receiver switc hes back to t he transmitter within nine bit times. following transmission, the transmitter performs a sqe test. this test exercises the collision detection circuitry within the 10base-t interface. the receiver monitors the media at all times. it re covers the clock and data and passes it along to the controller. in the absence of any receive activity, the transmitter is looped back to the receiver. in addition, the receiver performs aut omatic polarity correction. the 10base-t interface performs link integrity tests per section 14.2.1.7 of 802.3, using the following values: 1. link_loss_timer: 64 ms 2. link_test_min_timer: 4 ms 3. link_count: 2 4. link_test_max_timer: 64 ms the state of the link is reflected in the ephsr. 9.11 aui the lan91c96 also provides a standard six wire aui interface to a coax transceiver. 9.12 physical interface the internal physical interface (phy) consists of an encoder/decoder (endec) and an internal 10base-t transceiver. the endec also provides a standard 6-pin aui interface to an external coax transceiver for 10base-2 and 10base-5 applications. the internal signals between mac and the phy can be routed to pins by asserting the nxendec pin low. this feat ure allows the interface to an external endec and transceiver. the phy functions can be divided into transmit and receive functions. 9.13 transmit functions 9.13.1 manchester encoding the phy encodes the transmit data received from the mac. the encoded data is directed internally to the selected output driver for transmission over the twis ted-pair network or the aui cable. data transmission and encoding is initiated by the transmit enable input, txe, going low. 9.13.2 transmit drivers the encoded transmit data passes through to the transmi t driver pair, tpetxp(n), and its complement, tpetxdp(n). each output of the transmit driver pai r has a source resistance of 10 ohms maximum and a current rating of 25 ma maximum. the degree of pred istortion is determined by the termination resistors; the equivalent resistance should be 100 ohms. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 87 revision 1.0 (10-24-08) datasheet 9.13.3 jabber function this integrated function prevents the dte from locking into a c ontinuous transmit state. in 10base-t mode, if transmission continues beyon d the specified time limit, the ja bber function inhibits further transmission and asserts the collision indicator ncoll. the limits for jabber transmission are 20 to 15 ms in 10base-t mode. in the aui mode, the jabber f unction is performed by the external transceiver. 9.13.4 sqe function in the 10base-t mode, the phy supports the signal quality error (sqe) function. at the end of a transmission, the phy asserts the ncoll signal for 10+/- 5 bit times beginning 0.6 to 1.6ms after the last positive transition of a trans mitted frame. in the aui mode, the sqe function is performed by the external transceiver. 9.14 receive functions 9.14.1 receive drivers differential signals received off the twisted-pair netw ork or aui cable are directed to the internal clock recovery circuit prior to being decoded for the mac. 9.14.2 manchester decoder and clock recovery the phy performs timing recovery and manchester decoding of incoming differential signals in 10base-t or aui modes, with its built-in phase-lock loop (pll ). the decoded (nrz) data, rxd, and the recovered clock, rxclk, becomes available to t he mac, typically within 9 bit times (5 for aui) after the assertion of ncrs. the receive clock, rxclk, is phase-locked to the transmit clock in the absence of a received signal (idle). 9.14.3 squelch function the integrated smart squelch circuit employs a combination of amplitude and timing measurements to determine the validity of data received off the network . it prevents noise at the differential inputs from falsely triggering the decoder in the absence of valid data or link test pulses. signal levels below 300mv (180mv for aui) or pulse widths less than 15ns at the differential inputs are rejected. signals above 585mv (300mv for aui) and pulse widths greater than 30ns will be accepted. when using the extended cable mode with 10base-t media which extends beyon d the standard limit of 100 meters, the squelch level can optionally be set to reject signals below 180mv and accept signals above 300mv. if the input signal exceeds the squelch requirements, t he carrier sense output, ncrs, is asserted. 9.14.4 reverse polarity function in the 10base-t mode, the phy monitors for receiver polarity reversal due to crossed wires and corrects by reversing the signal internally. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 88 smsc lan91c96 5v&3v datasheet 9.14.5 collision detection function in the 10base-t mode, a collision state is indica ted when there are simultaneous transmissions and receptions on the twisted pair link. during a collisi on state, the ncoll signal is asserted. if the received data ends and the transmit control signal is still active , the transmit data is sent to the mac within 9 bit times. the ncoll signal is de-asserted within 9 bi t times after the collision terminates. in the aui mode, the external transceiver sends a 10mhz signa l to the phy upon detection of a collision. 9.14.6 link integrity the phy test for a faulty twisted-pair link. in the absence of transmit data, link test pulses are transmitted every 16+/-8ms after the end of the last transmission or link pulse on the twisted pair medium. if neither valid data nor link test pulses are received within 10 to 150ms, the link is declared bad and both data transmission as well as the operational loopback functi on are disabled. the link integrity function can be disabled for pre-10base-t twisted-pair networks. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 89 revision 1.0 (10-24-08) datasheet chapter 10 board setup information register eeprom word address configuration register base register ios value * 4 (ios value *4) + 1 the following parameters are obtained from the eeprom as board setup information: ? ethernet individual address ? i/o base address ? rom base address ? 8/16 bit adapter ? 10base-t or aui interface ? interrupt line selection all the above mentioned values are read from the eeprom upon hardware reset. except for the individual address, the valu e of the ios switches determines the offset within the eeprom for these parameters, in such a way that many identical boar ds can be plugged into the same system by just changing the ios jumpers. in order to support a software utility based insta llation, even if the eeprom was never programmed, the eeprom can be written using the lan91c96. one of the ios combination is associated with a fixed default value for the key parameters (i/o base, rom base, interrupt) that can always be used regardless of the eeprom based value being programmed. this value will be used if all ios pins are left open or pulled high. the eeprom is arranged as a 64 x 16 array. the s pecific target device is the 9346 1024-bit serial eeprom. all eeprom accesses are done in words. all eeprom addresses sh own are specified as word addresses. individual address 20-22 hexif ios2-0 = 7, on ly the individual address is read from the eeprom. currently assigned values are assumed for the other registers. these values are default if the eeprom read operation follows hardware reset. the eeprom select bit is used to determine the type of eeprom operation: a) normal or b) general purpose register. a) normal eeprom operation - eeprom select bit = 0 on eeprom read operations (after reset or a fter setting reload high) the configuration register and base register are updated with the eeprom values at locations defined by the ios2-0 pins. the individual address register s are updated with the values stored in the individual address area of the eeprom. on eeprom write operations (after setting the st ore bit) the values of the configuration register and base register are written in the eeprom locations defined by the ios2-0 pins. the three least significant bits of the co ntrol register (eeprom select, reload and store) are used to control the eeprom. their va lues are not stored nor loaded from the eeprom. b) general purpose register - eeprom select bit = 1 on eeprom read operations (after setting reload high) the eeprom word address defined by the pointer register 6 least significant bits is read into the general purpose register. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 90 smsc lan91c96 5v&3v datasheet on eeprom write operations (after setting the st ore bit) the value of the general purpose register is written at the eeprom word addr ess defined by the pointer register 6 least significant bits. reload and store are set by the user to initiate read and write operations respectively. polling the value until read low is used to determine comple tion. when an eeprom a ccess is in progress the store and reload bits of ctr will read-back as bot h bits high. no other bits of the lan91c96 can be read or written until the eeprom operation completes and both bits are clear. this mechanism is also valid fo r reset initiated reloads. note : if no eeprom is connected to the lan91c96, the eneep pin should be grounded and no accesses to the eeprom will be attempted. configuration, base a nd individual addresses assu me their default values upon hardware reset and the cpu is responsible for programming them for their final value. 10.1 diagnostic leds the following led drive signals are available for diagnostic and installation aid purposes: ntxled - activated by transmit activity. nbseled - board select led. acti vated when the board space is acce ssed, namely on accesses to the lan91c96 register space or the rom area decoded by the lan91c96. the signal is stretched to 125 msec. nrxled - activated by receive activity. nlinkled - reflects the link integrity status. 10.2 bus clock considerations the arbiter exploits the sequential nature of the cpu accesses to provide a very fast access time. memory bandwidth considerations will have an effect on the cpu cycle time but no effect on access time. for normal 8mhz, 10mhz, and 12.5mhz local bus, as well as eisa normal cycles, the lan91c96 can be accessed without negating ready. see arbitration considerations in functional description of the blocks for more details. 10.3 68000 bus interface the lan91c96 enters the 68000 interface mode wh en niord and niowr are asserted simultaneously. once the two are asserted together, the only way to return to the local bus interface is by hard resetting the chip. notice that the chip is required to power up in local bus mode to use the 68000 interface. for the first chip access, the first transfer (to the lan91c96) must be a write. the lan91c96 uses this write to confirm the 68000 mode. an attempted read may return incorrect data. the lan91c96 responds to addresses per the base address register contents (as in local bus mode). notice that the worst case access time for the first cycle is the same as that for local bus or pcmcia modes. the following is the motorola 68000 processor and the lan91c96 pin mapping: ? ds, lds, or uds to niord/xds ? r/nw to niowr/r/nw downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 91 revision 1.0 (10-24-08) datasheet ? nas to naen/nas ? 68000 address<23:1> to 91c96 address bus ? data to data (upper and lower bytes swapped) ? interrupt (if used) to int0 the following signals must be pulled as stated: ? lan91c96 address bit 0 tied low ? lan91c96 nsbhe input tied low ? all intx must have a 1k to 10k pull-up to keep the line high wh ile the drivers are tri-stated. configuration reg. base reg. configuration reg. base reg. configuration reg. base reg. configuration reg. base reg. configuration reg. base reg. configuration reg. base reg. configuration reg. base reg. ia0-1 ia2-3 ia4-5 ios2-0 word address 000 0h 1h4h 5h 8h 9h ch dh 10h 11h 14h 15h 18h 19h 20h 21h 22h 001010 011 100 101 110 xxx 16 bits figure 10.1 - 64 x 16 serial eeprom map downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 92 smsc lan91c96 5v&3v datasheet chapter 11 operational description 11.1 maximum guaranteed ratings * operating temperature range ................................................................................................... 0 c to 70 c storage temperatur e range ...............................................................................................-55 c to +150 c lead temperature range (sol dering, 10 se conds) ............................................................................+325 c positive voltage on any pin, with respect to groun d .....................................................................v cc + 0.3v negative voltage on any pin, with respec t to ground ........................................................................... -0.3v maximum v cc .............................................................................................................................. ............ +7v *stresses above those listed above could cause permanent damage to the device. this is a stress rating only and functional operati on of the device at any other condition above those indicated in the operation sections of this specif ication is not implied. note : when powering this device from laboratory or system power supplies, it is im portant that the absolute maximum ratings not be exceeded or device failure can result. some power supplies exhibit voltage spikes on their outputs when the ac power is switched on or off. in addition, voltage transi ents on the ac power line may appear on the dc output. if this possib ility exists, it is suggest ed that a clamp circuit be used. 11.2 dc electrical characteristics (t a =0 c to 70 c, v cc = +5.0 v 10%, or v cc = +3.3 v 10% as noted for revisions e and later) parameter symbol min typ max units comments input voltage levels for v cc = 5.0v i type input buffer low input level high input level v ili v ihi 2.0 0.8 v v ttl levels is type input buffer low input level high input level schmitt trigger hysteresis v ilis v ihis v hys 2.2 250 0.8 v v mv schmitt trigger schmitt trigger downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 93 revision 1.0 (10-24-08) datasheet parameter symbol min typ max units comments i clk input buffer low input level high input level v ilck v ihck 3.3 0.4 v v input voltage levels for v cc = 3.3v (revisions e and later) i type input buffer low input level high input level v ili v ihi 2.0 0.8 v v is type input buffer low input level high input level schmitt trigger hysteresis v ilis v ihis v hys 2.0 165 0.8 v v mv schmitt trigger schmitt trigger i clk input buffer low input level high input level v ilck v ihck 2.0 0.3 v v input leakage for v cc = 5.0v input leakage (all i and is buffers except pins with pullups/pulldowns) low input leakage high input leakage i il i ih -10 -10 +10 +10 a a v in = 0 v in = v cc input leakage for v cc = 3.3v (revisions e and later) input leakage (all i and is buffers except pins with pullups/pulldowns) low input leakage high input leakage i il i ih -10 -10 +10 +10 a a v in = 0 v in = v cc input current for v cc = 5.0v ip type buffers input current i il -150 -50 a v in = 0 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 94 smsc lan91c96 5v&3v datasheet parameter symbol min typ max units comments id type buffers input current i ih +50 +150 a v in = v cc input current for v cc = 3.3v (revisions e and later) ip type buffers input current i il - 100 -50 a v in = 0 id type buffers input current i ih + 50 + 100 a v in = v cc output voltage for v cc = 5.0v i/o4 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.4 +10 v v a i ol = 4 ma i oh = -2 ma v in = 0 to v cc i/o24 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.5 +10 v v a i ol = 24 ma i oh = -12 ma v in = 0 to v cc o24 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.5 +10 v v a i ol = 24 ma i oh = -12 ma v in = 0 to v cc o4 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.4 +10 v v a i ol = 4 ma i oh = -2 ma v in = 0 to v cc od16 type buffer low output level output leakage v ol i leak -10 0.5 +10 v a i ol = 16 ma v in = 0 to v cc downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 95 revision 1.0 (10-24-08) datasheet parameter symbol min typ max units comments o162 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.5 +10 v v a i ol = 16 ma i oh = -2 ma v in = 0 to v cc od24 type buffer low output level output leakage v ol i leak -10 0.5 +10 v a i ol = 24 ma v in = 0 to v cc output voltage for v cc = 3.3v (revisions e and later) i/o4 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.4 +10 v v a i ol = 2 ma i oh = -1 ma v in = 0 to v cc i/o24 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.5 +10 v v a i ol = 16 ma i oh = -6 ma v in = 0 to v cc o24 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.5 +10 v v a i ol = 12 ma i oh = -6 ma v in = 0 to v cc o4 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.4 +10 v v a i ol = 2 ma i oh = -1 ma v in = 0 to v cc od16 type buffer low output level output leakage v ol i leak -10 0.5 +10 v a i ol = 8 ma v in = 0 to v cc downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 96 smsc lan91c96 5v&3v datasheet parameter symbol min typ max units comments o162 type buffer low output level high output level output leakage v ol v oh i leak 2.4 -10 0.5 +10 v v a i ol = 8 ma i oh = -1 ma v in = 0 to v cc od24 type buffer low output level output leakage v ol i leak -10 0.5 +10 v a i ol = 12 ma v in = 0 to v cc supply current for v cc = 5.0v supply current active supply current in power down mode i cc i cdwn 50 8 95 ma ma all outputs open. supply current for v cc = 3.3v (revisions e and later) supply current active supply current in power down mode i cc i cdwn 20 3 64 ma ma all outputs open. xtal2 output drive for v cc = 5.0v xtal2 output drive high i cx2h tbd ma xtal2 output drive low i cx2l tbd ma xtal2 output drive for v cc = 3.3v (revisions e and later) xtal2 output drive high i cx2h -6 ma @2.4v xtal2 output drive low i cx2l 3 ma @0.4v capacitance t a = 25 c; fc = 1mhz; v cc = 5v, or v cc = +3.3v for revisions e and later limits parameter symbol min typ max unit test condition clock input capacitance (xtal1) c cin 5 6 pf clock output capacitance (xtal2) c cout 5 6 pf input capacitance c in 10 pf output capacitance c out 20 pf all pins except pin under test tied to ac ground downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 97 revision 1.0 (10-24-08) datasheet v cc = 5v +/- 10% parameter min typ max units 10base-t receiver threshold voltage 100 mv receiver squelch 300 400 585 mv receiver common mode range 0 v dd transmitter output: voltage source resistance 2 2.5 3 10 v ohms transmitter output dc offset 50 mv transmitter backswing voltage to idle 100 mv differential input voltage 0.585 3 v aui receiver threshold voltage 60 mv receiver squelch 180 240 300 mv receiver common mode range 0 v dd transmitter output voltage (r=78 ) 0.45 0.85 1.2 v transmitter backswing voltage to idle 100 mv input differential voltage 0.3 1.2 v output short circuit (to v cc or gnd) current 150 ma differential idle voltage (measured 8.0 s after last positive transition of data frame) 40 mv downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 98 smsc lan91c96 5v&3v datasheet v cc = 3.3v +/- 10% for revisions e and later parameter min typ max units 10base-t receiver threshold voltage tbd mv receiver squelch 225 260 520 mv receiver common mode range 0 vdd transmitter output: voltage source resistance +/- 1.3 +/- 1.5 +/- 1.6 10 v ohms transmitter output dc offset 50 mv transmitter backswing voltage to idle 100 mv differential input voltage +/- 0.520 +/- 3 v aui receiver threshold voltage tbd mv receiver squelch 120 140 160 mv receiver common mode range 0 vdd transmitter output voltage (r=78 ) +/- 0.39 +/- 0.47 +/- 0.55 v transmitter backswing voltage to idle 100 mv input differential volta ge +/- 0.25 +/- 0.990 v output short circuit (to v cc or gnd) current tbd ma differential idle voltage (measured 8.0 s after last positive transition of data frame) 40 mv capacitive load on outputs niocs16, iochrdy 240 pf intr0-3 120 pf all other outputs 45 pf downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 99 revision 1.0 (10-24-08) datasheet chapter 12 timing diagrams figure 12.1 C card configuration registers C read/write pcmcia mode (a15=1) nsns ns ns ns ns ns ns ns 4050 30 9 2515 25 15 60 0 t57t58 t59 t60 t61 t62 t63 t64 t65 write data setup to nwe risingwrite data hold after nwe rising noe low to valid data address, nreg setup to nwe active address, nreg hold after noe inactive address, nreg setup to noe active address, nreg hold after control inactive nce1 setup to nwe rising nce1 low to valid data parameter min typ max units t60 t63 t62 t61 t60 t64 t57 t58 t59 t65 valid valid valid valid a0-9,a15 nreg nce1 nwe noe d0-7 t63 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 100 smsc lan91c96 5v&3v datasheet figure 12.2 C local bus consecutive read cycles bale tied high valid address valid address t15 t4 t3 t20 t5 t6 z z a0-15aen, nsbhe niocs16 niord d0-15 t3t4 t5 t6 t15t20 address, nsbhe, aen setup to control activeaddress, nsbhe, aen hold after control inactive niord low to valid data niord high to data floating a4-a15, aen low, bale high to niocs16 low cycle time* parameter min typ max units 1020 185 2515 12 nsns ns ns ns ns iochrdy not used - t20 has to be met *note: the cycle time is defined only for consecutive accesses to the data register. thesevalues assume that iochrdy is not used. valid data out valid data out downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 101 revision 1.0 (10-24-08) datasheet figure 12.3 - pcmcia consecutive read cycles nsns ns ns ns ns ns ns ns 3540 05 5 185 0 1525 15 0 parameter t46t47 t48 t20 t49 t50 t51 t52 t53 niord to inpack delaynreg low to control active nce1,nce2 setup to control active cycle time (no wait states) nreg hold after control active nce1,nce2 hold after control inactive address setup to control active address hold after control inactive niord active to data valid min typ max units t51 t52 t47 t49 t48 t50 t20 t53 t46 t46 valid valid a0-9,a15 nreg nce1,nce2 niord d0-15 ninpack downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 102 smsc lan91c96 5v&3v datasheet figure 12.4 C local bus consecutive write cycles valid address valid address t15 t4 t3 t20 a0-15 aen, nsbhe niocs16 niowr d0-15 valid data in valid data t7 t8 bale tied high t3t4 t7 t8 t15t20 12 nsns ns ns ns ns address, nsbhe, aen setup to control activeaddress, nsbhe, aen hold after control inactive data setup to niowr rising data hold after niowr rising a4-a15, aen low, bale high to niocs16 low cycle time* parameter min typ max units 10 55 5 185 iochrdy not used - t20 has to be met *note: the cycle time is defined only for consecutive accesses to the data register. these values assume that iochrdy is not used. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 103 revision 1.0 (10-24-08) datasheet figure 12.5 - pcmcia consecutive write cycles 55 0 1525 15 185 30 9 t51 t52 t47 t49 t48 t50 t20 t54 t55 valid valid a0-9,a15 nreg nce1,nce2 niowr d0-15 t47 t48 t49 t50 t51 t52 t20 t54 t55 nsns ns ns ns ns ns ns ns nreg low setup to control active nce1,nce2 setup to control active nreg hold after control inactive nce1,nce2 hold after control inactive address setup to control active address hold after control inactive cycle time (no wait states) write data setup to niowr rising write data hold after niowr rising parameter min typ max units downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 104 smsc lan91c96 5v&3v datasheet figure 12.6 C local bus consecutive read and write cycles t20 a0-15aen, nsbhe niocs16niowr d0-d15 valid address valid address niord t9 t10 zz z valid data valid data iochrdy z z control active to iochrdy lowiochrdy low pulse width* cycle time** parameter min typ max units 100185 12 150 nsns ns t9 t10t20 *note: assuming no wait st = 0 in configuration register and cycle time observed.**note: the cycle time is defined only for accesses to the data register as follows: for data register read - from niord falling to next niord fallingfor data register write - from niowr rising to next niowr rising downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 105 revision 1.0 (10-24-08) datasheet figure 12.7 C data register special read access a0-15 (isa) aen, nsbhe niocs16 d0-d15 niord valid data valid address iochrdy out t9 t18 t19 z z parameter min typ max units 15 575225 nsns ns t9 t18 t19 control active to iochrdy low iochrdy width when data is unavailable at data register valid data to iochrdy inactive iochrdy is used instead of meeting t20 and t43. "no wait st' bit is 1 - iochrdy only negated if needed and only for data register acc ess. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 106 smsc lan91c96 5v&3v datasheet figure 12.8 C data register special write access a0-15 (isa) aen, nsbhe niocs16 d0-d15 niowr valid data in valid address iochrdy t18 zz parameter min typ max units 15 425 t9 t18 control active to iochrdy low iochrdy width when data register is full iochrdy is used inst ead of meeting t20 and t44. 'no wait st' bit is 1 - iochrdy only negated if needed and only for dat a register access. nsns t9 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 107 revision 1.0 (10-24-08) datasheet figure 12.9 - 8-bit mode register cycles a0-15(isa) aen niord d0-7 niowr t3 t3 t5 z valid data out z valid data in t7 t8 valid address t3t5 t7 t8 address, nsbhe, aen setup to control activeniord low to valid data data setup to niowr rising data hold after niowr rising parameter min typ max units 2530 9 40 nsns ns ns valid address downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 108 smsc lan91c96 5v&3v datasheet figure 12.10 - 68000 read timing min typ max unit comments t1 0 nsec r/nw asserted before nas t2 45 nsec nas assertion time t3 15 nsec address setup time t4 10 nsec address hold time t5 0 nsec nas to xds deassertion delay t6 45 nsec xds assertion time t7 10 nsec data setup time (access time) t9 0 30 nsec data hold time t10 75 nsec consecutive reads cycle time t10 t4 t2t2 t3 nas(naen) add t6t6 t1 t5 xds,lds,uds (niord) r/nw(niowr) t9 t7 data downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 109 revision 1.0 (10-24-08) datasheet t10 t2t2 t3 nas (naen) t4 t6 t7 t5 t7 add xds,lds,uds (niord) t9 t1 t8 r/nw (niowr) data figure 12.11 - 68000 write timing min typ max unit comments t1 0 nsec r/nw assertion before nas t2 30 nsec nas assertion time t3 15 nsec address setup time t4 10 nsec address hold time t5 15 nsec nas to xds t6 0 nsec xds deassertion delay to nas deassertion t7 15 nsec xds assertion time t8 10 nsec data setup time t9 10 nsec data hold time t10 60 nsec cycle time downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 110 smsc lan91c96 5v&3v datasheet figure 12.12 C external rom read access a0-19 nmemrd address valid d0-15 t3 t4 z bale tied high t3t4 t16t17 address setup to control active address hold after control inactive nmemrd low to nrom low(internal) nmemrd high to nrom high(internal) parameter min typ max units 1020 00 2035 nsns ns ns t16 t17 nrom downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 111 revision 1.0 (10-24-08) datasheet figure 12.13 C local bus register access when using bale aenniocs16 a0-15,nsbhe niord baleniowr t4 valid t1 t2 t15 t3 t1t2 t3 t4 t15 address, nsbhe setup to bale fallingaddress, nsbhe hold after bale falling address, nsbhe, aen setup to control active aen hold after control inactive a4-a15, aen low, bale high to niocs16 low parameter min typ max units 12 nsns ns ns ns t4 not needed. niocs16 not relevant in 8-bit mode. 10 5 2520 t5 t5 bale pulse width 15 ns downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 112 smsc lan91c96 5v&3v datasheet figure 12.14 C external rom read access using bale address setup to bale fallingaddress hold after bale falling address setup to control active nmemrd low to nrom low nmemrd high to nrom high nmemrd a0-19 nrom bale valid t1 t2 t3 t16 t17 t1t2 t3 t16t17 10 5 25 2035 nsns ns ns ns parameter mi n ty p unit s max downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 113 revision 1.0 (10-24-08) datasheet figure 12.15 - eeprom read eedi eeskeedo eecs eesk falling to eecs changing t21 parameter min typ max units 15 ns t21 0 9346 is typically the serial eeprom used. t68 t68 eesk falling to eedo changing 25 ns downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 114 smsc lan91c96 5v&3v datasheet figure 12.16 - eeprom write eesk eedoeedi eecs eesk falling to eecs changing t69 parameter min typ max units 5n s t69 9346 is typically the serial eeprom used. eesk falling to eedo changing t70 20 ns t70 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 115 revision 1.0 (10-24-08) datasheet nsns 2025 nwe to nfwe delay address, nreg, nce1 delay to nfcs t66 t67 parameter min typ max units t67 t67 t67 t67 t67 t67 t67 t67 t67 t67 t67 t67 t66 t66 valid valid a0-9,a15 nreg nce1 nfcs nwe nfwe noe 00 figure 12.17 - pcmcia attribute memory read/write (a15=0) figure 12.18 C external endec interface C start of transmit ntxen txd txclk t22 t22 t22 min typ max unit u 25 ns 0 parameter txd, ntxen delay from txclk falling downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 116 smsc lan91c96 5v&3v datasheet figure 12.19 C external endec interface C receive data (rxd sampled by falling rxclk) rxd rxclk ncrs t23 t24 t23 ncrs, rxd setup to rxclk falling ncrs, rxd hold after rxclk falling t23t24 parameter min typ max units nsns 1030 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 117 revision 1.0 (10-24-08) datasheet figure 12.20 C differential output signal timing (10base-t and aui) t petxp t petxn t petxdn t petxdp t xp t xn t31t32 t33 t34 tpetxp to tpetxn skew tpetxp(n) to tpetxdp(n) delay tpetxdn to tpetxdp skew txp to txn skew parameter min typ max units -1 47 -1 -1.5 +1 53 +1 1.5 nsns ns ns t31 t31 t32 t32 t33 t33 t34 t34 twisted pair drivers aui drivers downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 118 smsc lan91c96 5v&3v datasheet figure 12.21 C receive timing C start of frame (aui and 10base-t) 11 0 1 10 1 0 1 0 0 first bit decoded t35 t36 11 0 1 1 01010 0 t37 first bit decoded t38 recp recn ncrs (internal) t perxp(n) ncrs (internal) t35t36 t37 t38 noise pulse width reject (aui) carrier sense turn on delay (aui) noise sense pulse width reject (10base-t) carrier sense turn on delay (10base-t) parameter min typ max units 1550 15 450 30 100 30 550 nsns ns ns 2570 25 500 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 119 revision 1.0 (10-24-08) datasheet figure 12.22 C receive timing C end of frame (aui and 10base-t) ba1 / 0 last bit tperxp tperxn recp recn ncrs (internal) t39 t39 receiver turn off delay parameter min typ max units 200 300 ns downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 120 smsc lan91c96 5v&3v datasheet figure 12.23 C transmit timing C end of frame (aui and 10base-t) ba1 / 0 last bit tpetxp tpetxn txp txn t40 t41 transmit output high to idle in half-step mode transmit output high before idle in half-step mode parameter min typ max units 200 800 ns ns t40 t41 downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 121 revision 1.0 (10-24-08) datasheet collp colln t42 t43 col (internal) t42 t43 collision turn on delay collision turn off delay parameter min typ max units 50 350 nsns figure 12.24 C collision timing (aui) figure 12.25 C memory read timing address pointer register data register niowr niord iochrdy/ nwait (z) t44 t44 pointer register reloaded to a word of data prefetched into data register parameter min typ max units ns 2 * t20 note: if t44 is not met, iochrdy will be negated for the required time. this p arameter can be ignored if iochrdy is connected to the system. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 122 smsc lan91c96 5v&3v datasheet clock t2 t2 t1 tr tf figure 12.26 C input clock timing name description min typ max units t1 clock cycle time for 20 mhz 50 ns t2 clock high time/low time for 20 mhz 30/20 20/30 ns tr, tf clock rise time/fall time 5 ns xtal1 startup time (from 1.6v of vcc rising) 50 msec xtal1 capture range (xtal1 frequency variation) 19.7 20.3 mhz xtal internal feedback resistor 1 3 meg ohm address data register pointer register niowr t45 t45 last access to data register to pointer reloaded parameter min typ max units ns 2 * t20 figure 12.27 C memory write timing downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 123 revision 1.0 (10-24-08) datasheet figure 12.28 - 100 pin qfp package min nominal max remarks a ~ ~ 3.4 overall package height a1 0.05 ~ 0.5 standoff a2 2.55 ~ 3.05 body thickness d 23.65 ~ 24.15 x span d1 19.90 ~ 20.10 x body size e 17.65 ~ 18.15 y span e1 13.90 ~ 14.10 y body size h 0.11 ~ 0.23 lead frame thickness l 0.73 0.88 1.03 lead foot length l1 ~ 1.95 ~ lead length e 0.65 basic lead pitch 0 o ~ 7 o lead foot angle w 0.20 ~ 0.40 lead width r1 0.10 ~ 0.25 lead shoulder radius r2 0.15 ~ 0.40 lead foot radius ccc ~ ~ 0.10 coplanarity notes: 1 controlling unit: millimeter. 2 tolerance on the true position of the leads is 0.065 mm maximum 3 package body dimensions d1 and e1 do not include the mold protrusion. maximum mold protrusion is 0.25 mm. 4 dimension for foot length l measured at the gauge plane 0.25 mm above the seating plane. 5 details of pin 1 identifier are optional but must be located within the zone indicated. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet revision 1.0 (10-24-08) page 124 smsc lan91c96 5v&3v datasheet figure 12.29 - 100 pin tqfp package min nominal max remarks a ~ ~ 1.20 overall package height a1 0.05 ~ 0.15 standoff a2 0.95 ~ 1.05 body thickness d 15.80 ~ 16.20 x span d1 13.90 ~ 14.10 x body size e 15.80 ~ 16.20 y span e1 13.90 ~ 14.10 y body size h 0.09 ~ 0.20 lead frame thickness l 0.45 0.60 0.75 lead foot length l1 ~ 1.00 ~ lead length e 0.50 basic lead pitch 0 o ~ 7 o lead foot angle w 0.17 0.22 0.27 lead width r1 0.08 ~ ~ lead shoulder radius r2 0.08 ~ 0.20 lead foot radius ccc ~ ~ 0.08 coplanarity notes: 1 controlling unit: millimeter. 2 tolerance on the true position of the leads is 0.04 mm maximum. 3 package body dimensions d1 and e1 do not include the mold protrusion. maximum mold protrusion is 0.25 mm. 4 dimension for foot length l measured at the gauge plane 0.25 mm above the seating plane. 5 details of pin 1 identifier are optional but must be located within the zone indicated. downloaded from: http:///
non-pci single-chip full duplex ethernet controller with magic packet datasheet smsc lan91c96 5v&3v page 125 revision 1.0 (10-24-08) datasheet chapter 13 lan91c96 revisions page(s) section/figure/entry correction date revised 2 ordering information leaded removed 10/24/08 ~ all fixed various typos 07/28/08 2 ordering information added lead-free ordering information 09/10/04 92 dc electrical characteristics modified supply current in power down mode 08/11/04 65 theory of operation (magic packet support section) modified descriptions of magic packet support 08/11/04 50 i/o space C bank1 offset 2 modified i/o base address 300h decoding 09/30/02 124~125 fig.12.28100 pin qfp package; fig.12.28100 pin tqfp package; updated pin package diagrams 09/17/02 17 chapter 4 description of pin functions added description of rbias pin 07/01/02 58 io space bank 2 offset 2 C interrupt modified the description of interrupt registers 07/01/02 61 figure 7.1 C interrupt structure modified interrupt structure figure 07/01/02 59 bank 3 offset a C revision register changed the rev id to 9 07/01/02 67 8.1, 8.2 typical flow of events for transmit modified the flow chart 07/01/02 1 title and document non-pci replaced isa/pcmcia in title. local bus replaced isa throughout document. 04/15/02 70 figure 8.1 C interrupt service routine figure has been updated. 04/15/02 38 figure 6.1 C data frame format max offset changed to 1534 from 1536 07/27/01 38 data area in ram number of bytes in data area changed to 1531 from 2034 07/27/01 25 figure 7 updated figure 7 07/27/01 108 dc electrical characteristics updated 3.3v characteristic numbers replaced tbd 07/27/01 80 figure 15 updated figure 15 03/21/01 38 figure 6.1 C data frame format max offset changed to 1534 from 1536 07/27/01 38 data area in ram number of bytes in data area changed to 1531 from 2034 07/27/01 25 figure 7 updated figure 7 07/27/01 108 dc electrical characteristics updated 3.3v characteristic numbers replaced tbd 07/27/01 80 figure 15 updated figure 15 03/21/01 56 i/o space C bank 2/ top of rx fifo packet number mmu commands changed from 3, 4 to 6, 8 see italicized text 07/18/00 21 buffer symbols see italicized text 06/29/00 92 dc electrical characteristics updated table - see italicized text 06/29/00 99 timing diagrams figures: 20-23, 25, 29, 31-33, 35-37 06/29/00 downloaded from: http:///


▲Up To Search▲   

 
Price & Availability of LAN91C96I-MS

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X